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]