2012-09-03 17 views
5

Mam kilka aliasów domen, a chcę, aby jeden z nich był faktycznie używany. W tej chwili mam dwie domeny zainstalowane,Przekierowywanie wszystkich aliasów domen do domeny htaccess

Do przekierowania Chciałbym użyć htaccess.

Moje domeny pracuje obecnie tak:

www.domain.com/index.html - Strona główna domena jest

www.secondDomain.com/index.html - wyświetla dokładnie tak samo jak strona główna główną domenę, ale chcę, aby automatycznie zmieniła nazwę adresu URL na www.domain.com/index.html, gdy jest używana.

Dzięki!

+0

Również sam problem można zobaczyć tutaj: http://stackoverflow.com/questions/19876329/htaccess-redirect-alias-to-main-domain - to rozwiązanie działa dla mnie –

Odpowiedz

17

Jest to prosta sprawa z dopasowaniem %{HTTP_HOST} nie równa www.domain.com i przekierowania tego do domeny kanonicznej.

RewriteEngine On 
# If the hostname is NOT www.domain.com 
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ 
# 301 redirect to the same resource on www.domain.com 
RewriteRule (.*) http://www.domain.com/$1 [L,R=301] 
+0

Dziękuję bardzo ! Ciągle próbuję zrozumieć składnię przekierowania htaccess i wszystkich, ale to naprawdę dziwne, czy znasz dobre miejsce, żeby się tego nauczyć? dzięki jeszcze raz! – Radicate

+0

Czasami widzę, że ludzie zapisywali różne rzeczy na ostatnich nawiasach kwadratowych, na przykład: [R = stały, QSA, L] jaka jest różnica? – Radicate

+2

Zobacz http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html. 301 jest stałym przekierowaniem. 'QSA' oznacza _przyłącz istniejący ciąg zapytania na przepisany adres URL, ale dzieje się to automatycznie dla przekierowania" [R] ", więc pominąłem je jako nadmiarowe. '[L]' oznacza, że ​​nie przetwarza żadnych innych pasujących reguł i jest potrzebny, jeśli masz więcej reguł, które mogą pasować do wejściowego adresu URL. –

Powiązane problemy