Použite mod_rewrite na presmerovanie celého webu

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

  1. V koreňovom adresári vášho starého webového servera upravte alebo vytvorte nový súbor .htaccess pomocou textového editora.
  2. Pridajte riadok: RewriteEngine ON
  3. 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.