Htaccess, mod_rewrite a Apache
Webové stránky sa pohybujú. To je fakt vývoja webu. A ak ste šikovný, používate 301 presmerovaní, aby ste zabránili prepojeniu odkazov. Ale čo keď presuniete celý web? Mohli by ste prejsť a manuálne napísať presmerovanie pre každý súbor na webe. Ale to môže trvať dlho. Našťastie je možné použiť htaccess a mod_rewrite na presmerovanie celej webovej stránky len niekoľkými riadkami kódu.
Ako používať mod_rewrite na presmerovanie vašich stránok
- V koreňovom adresári vášho starého webového servera upravte alebo vytvorte nový súbor .htaccess pomocou textového editora.
- Pridajte riadok: RewriteEngine ON
- Pridať: RewriteRule ^ (. *) $ Http://newdomain.com/$1 [R = 301, L]
Tento riadok zoberie každý požadovaný súbor vo vašej staršej doméne a pripojí (s rovnakým názvom súboru) adresu URL vašej novej domény. Napríklad http://www.olddomain.com/filename bude presmerovaný na http://www.newdomain.com/filename. R = 301 informuje server o tom, že presmerovanie je trvalé.
Toto riešenie je perfektné, ak ste prevzali celý svoj web a presunuli ho neporušene do novej domény. Ale to sa nestane veľmi často. Bežnejším scenárom je, že vaša nová doména má nové súbory a adresáre. Ale nechcete prísť o zákazníkov, ktorí si pamätajú starú doménu a súbory. Takže by ste mali nastaviť mod_rewrite, aby presmerovali všetky staré súbory na novú doménu:
RewriteRule ^. * $ Http://newdomain.com/ [R = 301, L]Rovnako ako v predchádzajúcom pravidle, R = 301 robí toto presmerovanie 301. A L informuje server, že toto je posledné pravidlo.
Keď nastavíte pravidlo prepisovania v súbore htaccess, vaše nové webové stránky získajú všetky zobrazenia stránok zo starej adresy URL.