2013-09-26 10 views
7

Mam serwer z wieloma witrynami hostowanymi i rozróżnialnymi za pomocą wirtualnego hostingu apache opartego na nazwie.Jak ustawić domyślną witrynę internetową do wyświetlania po wprowadzeniu adresu IP jako adresu URL?

Jak ustawić tak, aby określona witryna była hostowana po wprowadzeniu adresu IP mojego serwera na pasku adresu?

+0

Czy kiedykolwiek tego wyszło? Właśnie zaktualizowałem serwer do Ubuntu 14.04, a istniejący 000-default.conf VirtualHost po prostu przestał być wywoływany, gdy nie pasuje żadna nazwa domeny - zamiast tego z jakiegoś powodu użyto pierwszej alfabetycznej VirtualHost z dyrektywą ServerName. –

+1

Ach, wystarczy podać adres IP w domyślnym VH, zamiast używać '*: 80' lub' _default_: 80'. Nie jestem pewien, czy to błąd Apache'a. –

Odpowiedz

15

To, czego chcesz użyć, to _default_VirtualHost.

<VirtualHost _default_:80> 
    DocumentRoot /www/default80 
    # ... 
</VirtualHost> 

To jest opisane here. Zasadniczo, jeśli nic innego nie pasuje do żądania, zostanie użyty host _default_.

EDIT
Może to być również zapisane jako:

<VirtualHost *> 
    DocumentRoot /www/default 
    # ... 
</VirtualHost> 

Czy to ważne, że jest to pierwszy VirtualHost w konfiguracji od Apache rozpocznie dopasowując je od góry do dołu, wybierając ten, który pasuje najlepiej na podstawie ServerName i ServerAlias.

Ten post może być również interesujące: Apache default VirtualHost

+0

Używam debiana i utworzyłem plik vhost, tak jak to określiłeś w witrynach - dostępne, był tam już '_default', więc go zmodyfikowałem i utworzyłem nowy' _default_' z tą samą konfiguracją ... te pliki z 'ln -s source dest' na włączone witryny ... ponieważ' a2ensite' powiedział, że nie znaleziono witryny pasującej ... nadal nie działa – surfer190

+0

Czy upewniłeś się, że jest to pierwszy 'VirtualHost' w konfiguracji ? Oznacza to, że ma nazwę, która pojawia się przed innymi hostami. Myślę, że zwykle używasz '' 010-default' '020-www'' 030-forum' jako nazw linków w 'site-enabled'. – Qben

+0

Jeśli twój 'apache2.conf' ma 0' VirtualHost', ale '' Include sites-enabled/'dla wszystkich konfiguracji vhost, to domyślna strona musi pojawić się przed innymi plikami. Na przykład domyślny plik vhost o nazwie 'aaaa.default' będzie działał, ale' zzzz.default' nie będzie działać. [O ile "zzzz.default" nie jest twoją jedyną konfiguracją] –

3

tylko znaleźć linię w pliku apache2.confInclude sites-enabled/ i dodać ścieżkę do pliku conf chcesz być domyślna witryna powyżej niej. od:

Include sites-enabled/ 

do

Include sites-enabled/mydefault.conf 
Include sites-enabled/ 
+0

Jest to najprawdopodobniej odpowiedź, której szukasz, konfiguracje są ładowane w kolejności alfabetycznej, opcja, którą wybrałem, polegała na zmianie nazwy domyślnej konfiguracji z mysite.conf na 00-mysite.conf (pamiętaj o a2dissite a2ensite i przeładuj) – Louis