2012-07-08 19 views
8

Mam problem z dyrektywą ServerAlias. Konfiguracja wygląda następująco:ServerAlias ​​nie działa

ServerName d.geosurf.ru 
ServerAlias www.d.geosurf.ru divo32pro.ru www.divo32pro.ru 

Ale! Za każdym razem, gdy próbuję przejść na przykład do divo32pro.ru, otrzymuję d.geosurf.ru (nazwa serwera). Wygląda na to, że nie ma przekierowania, ale coś jest nie tak ... Jakieś pomysły? ..

+0

Wiem, że to jest martwe, ale może komuś pomóc. Jeśli masz jakieś CMS, prawdopodobnie problem nie dotyczy ServerAlias, ale URL określony w Twojej konfiguracji. CMS zwykle przekierowuje Cię do właściwej domeny, gdy uzyskujesz dostęp do czegoś innego. – Iazel

Odpowiedz

3

ServerAlias nie przekierowuje Cię do nowej witryny.

ServerName tylko mówi: „tutaj jest moja nazwa serwera” i ServerAlias mówi, że jeśli ktoś idzie do XY i Z to proszę je traktować tak, jakby pochodziły bezpośrednio ServerName

+0

poczekaj chwilę ... Pomyślałem, że jeśli ustawię nowe ServerAlias ​​oznacza to, że mogę przejść do nowej nazwy domeny i zobaczyć tę samą stronę, ale będzie wyglądać tak, jakbym przyszedł na inny adres bez żadnych zmian w nazwie url –

+0

Zajrzyj na http://httpd.apache.org/docs/2.0/vhosts/name-based.html, gdy po raz pierwszy odwiedzasz tę stronę, adres URL będzie adresem URL, do którego przyszedłeś, a jeśli używasz tylko względnych linków, które będą linkować do adresu URL, do którego przyszedłeś, ale jeśli użyjesz linków, to przekieruje cię do "prawdziwej strony", której nie zapisuje, bo potrzebujesz mod_rewrite. Po prostu informuje Apache, jaka strona ma być wyświetlana, jeśli używasz hostingu opartego na nazwie, to pasuje do Aliasu, tak jak nazwa i wyświetla właściwą stronę. –

+0

kiedy odwiedzam divo32pro.ru (bez żadnych linków) jego zmiany przez serwer do d.geosurf.ru (nazwaserwera) bez przekierowania –

13

ServerAlias prostu deklaruje alternatywne nazwy, które mogą być używane do adresowania w tym samym miejscu (lub <VirtualHost>. Więc jeśli mam

ServerName www.example.com 
ServerAlias example.com 

ujrzę tę samą treść zarówno http://www.example.com/foo/ i http://example.com/foo/.

Jednakże, jeśli serwer Apache musi wywołać przekierowanie z jakiegokolwiek powodu (na przykład z nazwy katalogu bez ukośnego ukośnika do odpowiedniej nazwy z ukośnikiem), zachowanie zależy od ustawienia UseCanonicalName. Jeśli jest to nieokreślone lub Off to będzie zrobić, czego można oczekiwać (http://example.com/foo ->http://example.com/foo/), ale jeśli jest ona ustawiona na On następnie przekierowanie będzie do ServerName niezależnie od oryginalnego żądania URL (tj http://example.com/foo ->http://www.example.com/foo/). Sprawdź, czy masz ten zestaw w swojej konfiguracji.