Ez egy Kecs.es blog webfejlesztési ötletek, tanácsok, észrevételek

15feb/100

Több domain használata egy tárhelyen. Azaz a .htaccess és a multiple redirect

Vannak  olyan esetek, amikor egy honlaphoz több domaint kell használni. De a duplikált tartalom ellen is küzdeni akarunk. (Tehát a honlapot csak www-vel lehessen elérni, nélküle ne)

Célunk tehát a a domain1.hu és domain2.hu tiltása és a www.domain1.hu és www.domain2.hu engedélyezése. A megoldáshoz a .htaccess hívjuk segítségre.

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain1\.hu [NC]
RewriteRule ^(.*)$ http://www.domain1.hu/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^domain2\.hu [NC]
RewriteRule ^(.*)$ http://www.domain2.hu/$1 [L,R=301]


Eredménye:

domain1.hu http://www.domain1.hu
www.domain1.hu http://www.domain1.hu
http://www.domain1.hu http://www.domain1.hu
sub.domain1.hu http://sub.domain1.hu
domain2.hu http://www.domain2.hu
www.domain2.hu http://www.domain2.hu
http://www.domain2.hu http://www.domain2.hu
sub.domain2.hu http://sub.domain2.hu

A megoldás egyetlen hátránya, hogy az összes domaint fel kell sorolni. De onnantól kezdve szépen átirányít. Arra viszont figyeljünk oda, hogy ha aldomaint is szeretnénk átirányítani, akkor azokat is fel kell sorolni. Tehát ez a megoldás alapesetben az aldomaineket nem módosítja. (sub.domain1.hu cím megmarad)

Ha nincs szükségünk aldomainekre, akkor használhatjuk a következő "univerzális" megoldást:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Eredménye:

domain1.hu http://www.domain1.hu
www.domain1.hu http://www.domain1.hu
http://www.domain1.hu http://www.domain1.hu
sub.domain1.hu http://www.sub.domain1.hu
domain2.hu http://www.domain2.hu
www.domain2.hu http://www.domain2.hu
http://www.domain2.hu http://www.domain2.hu
sub.domain2.hu http://www.sub.domain2.hu

vagy ellenkező párját, ahol a www-t távolítjuk el:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST}//s%{HTTPS} ^www\.(.*)//((s)on|s.*)$ [NC]
RewriteRule ^ http%3://%1%{REQUEST_URI} [L,R=301]

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.