Presmerovanie zo všetkých poddomén na www pomocou mod_rewrite | devLife.eu
Nov
29th

Presmerovanie zo všetkých poddomén na www pomocou mod_rewrite

Zaradené do Internet | Publikoval rado


Apache logoAsi každý, kto má web stránku na vlastnej doméne, pravdepodobne narazil na to, že sa jeho stránka zobrazuje na adrese www.example.com aj example.com (teda s prefixom www aj bez neho). Na niektorých webhostingoch dokonca aj na ľubovolnej inej poddoméne. Myslíte si, že je to problém?

Áno, je to problém, pretože sa vám zobrazuje ten istý obsah na rôznych web stránkach. A pokiaľ to vaša stránka nijak nerieši, ľahko sa môže stať, že vám vyhľadávač objaví viac stránok (stačí, že sa niekde objaví odkaz na inú poddoménu). Následne si porovná obsah a zistí, že už taká web stránka existuje, čiže našiel duplicitu. V konečnom dôsledku to môže mať negatívny vplyv na pozíciu vo vyhľadávači, pretože sa môže sila odkazov rozdeliť na viaceré stránky.

Takýmto zbytočným komplikáciám sa dá ľahko zabrániť. Ak to vaša stránka nijak nerieši a váš web server podporuje mod_rewrite a htaccess, stačí doňho pridať pár riadkov a problém sa vyrieši bez zásahu do samotnej aplikácie.

Presmerovanie v htaccess pomocou mod_rewrite nastavíte následovne:

# Zapne mod_rewrite
RewriteEngine On

# Nastavi pociatocnu cestu stranky
RewriteBase /

# Ak je na domene bez www na zaciatku
RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6}$   [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$   [NC]

# Presmeruje na domenu s www na zaciatku
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L,QSA]

Tento script sám zistí na akej doméne beží a teda nie je nutné ho meniť pre konkrétne domény. Je možné, že RewriteEngine aj RewriteBase už máte vo vašom súbore htaccess nastavené a teda to nemusíte nastavovať.

Be Sociable, Share!


Pridať komentár