Z wielu powodów możemy chcieć przekierować ruch z domeny z www(lub z jakiejkolwiek innej subdomeny) na domenę bez www.
Pierwszym z nich jest traktowanie domeny z www oraz domeny bez www przez wyszukiwarki internetowe jako dwa odrębne serwisy. Linki prowadzące do domeny z www i bez www będą liczone oddzielnie. W konsekwencji „siła” domeny będzie podzielona na dwie części.
Aby temu zapobiec możemy przekierować ruch z jednej domeny na drugą. Należy do tego użyć przekierowania typu: 301: Moved Permanently.
Taką funkcjonalność w Lighttpd zapewnia nam mod_redirect.
Aktywacja mod_redirect w Lighttpd
Pierwszą czynnością, którą należy wykonać to aktywacja mod_redirect w pliku konfiguracyjnym Lighttpd.
nano /etc/lighttpd/lighttpd.conf
W sekcji server.modules musimy od komentować wpis:
"mod_redirect"
server.modules = ( "mod_access", "mod_alias", ... # "mod_rewrite", # "mod_redirect" )
server.modules = ( "mod_access", "mod_alias", "mod_redirect", ... # "mod_rewrite" )
Więcej na temat konfiguracji modułów znajdziesz w artykule: Podstawy konfiguracji modułów Lighttpd.
Konfiguracja przekierowania (mod_redirect) w Lighttpd
Aby przekierowanie zaczęło funkcjonować w pliku konfiguracyjnym należy dopisać:
$HTTP["host"] =~ "^www\.(.*)$" { url.redirect = ( "^/(.*)" => "http://%1/$1" ) }
Po tych czynnościach restartujemy lighttpd:
/etc/init.d/lighttpd restart
Od tej chwili przekierowanie z domeny z www na domenę bez www (www.kowalsio.com -> kowalsio.com) powiano już działać.
Przekierowanie kilku subdomen naraz
Aby przekierować kilka subdomen na domenę główna naraz w pliku konfiguracyjnym należy wpisać:
$HTTP["host"] !~ "^(www|mysql)\.(kowalsio\.com)$" { $HTTP["host"] =~ "^(.+\.)?(kowalsio\.com)$" { url.redirect = ( "^/(.*)" => "http://www.%2/$1" ) } }
W powyższym przykładzie subdomena www i mysql w domenie kowalsio.com (www.kowalsio.com -> kowalsio.com, mysql.kowalsio.com -> kowalsio.com itp.) zostanie przekierowana na domenę główną kowalsio.com
Działanie „na żywo” możecie sprawdzić wchodząc na stronę www.kowalsio.com, lighttpd automatycznie przekieruje waszą przeglądarkę na adres kowalsio.com (bez www).
Natomiast jeśli lubisz adresy z www zobacz artykuł Lighttpd przekierowanie domeny (bez www) na (z www) .
2 komentarze
Możesz dodawać komentarze do tego artykułu.
A co z przekierowaniem na bez www na poziomie serwa DNS? Czy to nie jest lepsze rozwiązanie?
MrMgr 13 lat ago
Większość firm oferuje redirect 301 [czyli taki sam jak tu zaprezentowany]. W DNS chyba się nie bardzo da to zrobić. Chodź mogę się mylić.
Konrad Kowalski 13 lat ago
Dodaj komentarz