Apache VirtualHost i localhost
Pracuję z XAMPP na Mac OS X. Próbuję poprawnie uruchomić stronę symfony dla klienta, naprawdę Nie wiem (jeszcze) symfony, po prostu chcę ją zainstalować i uruchomić.
Zmieniłem swoje etc / hosty w ten sposób:
127.0.0.1 www.mysite.local
I httpd.conf w ten sposób:
<VirtualHost *:80>
ServerName www.mysite.local
DocumentRoot /Applications/MAMP/htdocs/mysite/web
DirectoryIndex index.php
<Directory /Applications/MAMP/htdocs/mysite/web>
AllowOverride All
Allow from All
</Directory>
Alias /sf /Applications/MAMP/htdocs/mysite/lib/vendor/symfony/data/web/sf
<Directory "/Applications/MAMP/htdocs/mysite/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Teraz strona działa (yay!nie mogę już uzyskać dostępu do żadnej z moich innych lokalnych stron, ponieważ localhost jest renderowany jako www.mysite.local . Gdzie się mylę?
Dziękuję!11 answers
To normalne, jeśli to widzisz. Ponieważ jest to pierwszy wpis wirtualnego hosta, pokaże host lokalny.
Powiedzmy na przykład, że nie chcesz, aby ta strona się wyświetlała. Wszystko, co chcesz pokazać, to strona Apache it works, więc możesz zrobić wpis vhost przed mysite.lokalny jako lokalny host i wskaż go na stronę it works.
Ale to normalne. Miałem ten problem wcześniej, więc nie martw się!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-12 11:59:29
To zadziałało na mnie!
Do prowadzenia projektów typu http://localhost/projectName
<VirtualHost localhost:80>
ServerAdmin localhost
DocumentRoot path/to/htdocs/
ServerName localhost
</VirtualHost>
Do uruchamiania projektów typu http://somewebsite.com
lokalnie
<VirtualHost somewebsite.com:80>
ServerAdmin [email protected]
DocumentRoot /path/to/htdocs/somewebsiteFolder
ServerName www.somewebsite.com
ServerAlias somewebsite.com
</VirtualHost>
To samo dla innych stron internetowych
<VirtualHost anothersite.local:80>
ServerAdmin [email protected]
DocumentRoot /path/to/htdocs/anotherSiteFolder
ServerName www.anothersite.local
ServerAlias anothersite.com
</VirtualHost>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-19 10:54:37
localhost
zawsze przekieruje do 127.0.0.1
. Możesz to oszukać, nazywając swój drugi VirtualHost na inny adres pętli lokalnej, na przykład 127.0.0.2
. Upewnij się, że zmienisz również odpowiedni plik hosts
, aby to zaimplementować.
Na przykład mój httpd-vhosts.conf
wygląda tak:
<VirtualHost 127.0.0.2:80>
DocumentRoot "D:/6. App Data/XAMPP Shared/htdocs/intranet"
ServerName intranet.dev
ServerAlias www.intranet.dev
ErrorLog "logs/intranet.dev-error.log"
CustomLog "logs/intranet.dec-access.log" combined
<Directory "D:/6. App Data/XAMPP Shared/htdocs/intranet">
Options Indexes FollowSymLinks ExecCGI Includes
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
(zauważ, że w <VirtualHost>
sekcji i wpisałem 127.0.0.2:80
. Oznacza to, że ten blok VirtualHost będzie wpływał tylko na żądania adresu IP 127.0.0.2
port 80
, który jest domyślnym portem dla HTTP.
Aby nazwa intranet.dev
właściwie, Moja hosts
Linia wejścia jest taka:
127.0.0.2 intranet.dev
W ten sposób uniemożliwi ci utworzenie kolejnego bloku VirtualHost dla localhost
, co jest niepotrzebne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-19 10:54:05
Możesz użyć tego:
<VirtualHost *:80>
DocumentRoot "somepath\Apache2.2\htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
Jako pierwszy wirtualny host (umieść go przed innym vhostem)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-19 10:54:16
Miałem ten sam problem z dostępem do localhost podczas pracy z virtualHost. Postanowiłem dodać nazwę w virtualHost listen code jak poniżej -
W moim pliku hosts dodałem poniższy kod ( C:\Windows\System32\drivers\etc\hosts) -
127.0.0.1 main_live
I w moim httpd.conf dodałem poniżej kod -
<VirtualHost main_live:80>
DocumentRoot H:/wamp/www/raj/main_live/
ServerName main_live
</VirtualHost>
To wszystko. Działa, mogę używać zarówno localhost, phpmyadmin , a także main_live (mój wirtualny projekt) jednocześnie.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-27 16:23:20
Dla kogoś, kto robi wszystko opisane tutaj i nadal nie ma dostępu:
Xampp z apache 2.4:
Na httpd-vhost.conf
<VirtualHost *>
DocumentRoot "D:/xampp/htdocs/dir"
ServerName something.dev
<Directory "D:/xampp/htdocs/dir">
Require all granted #apache v 2.4.4 uses just this
</Directory>
</VirtualHost>
Nie potrzeba portu, ani ip tutaj, apache konfiguruje go na własnych plikach. Nie ma potrzeby NameVirtualHost *: 80, jest przestarzały, możesz go używać, ale nie rób różnicy.
Następnie, aby edytować hosty, musisz uruchomić notatnik jako ADMINISTRATOR( opisany poniżej), jeśli edytujesz plik bez tego, edytujesz pseudo plik, nie oryginalny (tak, zapisuje i gówno, ale nie prawdziwy plik)
W windows:
znajdź ikonę notatnika, kliknij prawym przyciskiem myszy, Uruchom jako administrator, otwórz plik, przejdź do c:/windows/system32/driver/etc/hosts, zaznacz "Zobacz wszystkie pliki", otwórz hosty.
Jeśli edytujesz go wcześniej, prawdopodobnie zobaczysz, że nie jest to plik, który wcześniej edytowałeś, gdy nie jesteś uruchomiony jako administrator.
Następnie do sprawdź, czy Apache odczytuje Twój httpd-vhost.conf , przejdź do xampFolder / apache / bin, shift + kliknięcie prawym przyciskiem myszy, otwórz polecenie terminal tutaj, otwórz xampp (jak zwykle), Uruchom apache, następnie w linii poleceń wpisz httpd -s, zobaczysz listę wirtualnych hostów, po prostu sprawdź, czy coś.dev tam jest.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-28 17:55:32
Dodatkowy opis Dla odpowiedzi Johna Smitha z oficjalnej dokumentacji . Żeby zrozumieć, dlaczego tak jest.
Główny gospodarz odchodzi
Jeśli dodajesz wirtualne hosty do istniejącego serwera www, musisz również Utwórz blok dla istniejącego hosta . Na Nazwa serwera i DocumentRoot zawarte w tym wirtualnym hoście powinny być tak samo jak globalna Nazwa serwera i DocumentRoot. Wymień ten wirtualny host najpierw w pliku konfiguracyjnym tak, że będzie działać jako domyślny host.
Na przykład, aby poprawnie pracować z XAMPP, aby zapobiec nadpisywaniu głównego hosta przez VirtualHost, dodaj następujące linie do httpd-vhosts.conf
# Main host
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/xampp/htdocs"
</VirtualHost>
# Additional host
<VirtualHost *:80>
# over directives there
</VirtualHost>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-12 06:20:01
Zgodnie z tą dokumentacją: Obsługa wirtualnych hostów opartych na nazwach
Być może brakuje Ci następującej dyrektywy:
NameVirtualHost *:80
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-11 22:31:46
Wystarczy zmienić <VirtualHost *:80>
na <VirtualHost 127.0.0.1:80>
.
Wtedy domyślne DocumentRoot
będzie służyć dla wszystkich domen lub adresów IP, które wskazują na twój serwer i określone VirtualHost
będzie działać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-25 15:26:39
Może to być spowodowane tym, że Twój Katalog WWW (jak wspomniano "/Applications/MAMP/htdocs/mysite/web") jest pusty.
Moja sugestia polega najpierw na zrobieniu projektu, a następnie pracy nad stworzeniem wirtualnego hosta. Byłem w podobnej sytuacji. Używałem pustego folderu w DocumentRoot w httpd-vhosts.confiz and I cant access my shahg101.com Strona
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-27 07:48:33
Używam Ubuntu 16.04, to mi się udało:
- Otwórz terminal i płytę cd do
/etc/apache2/sites-available
. Tam znajdziesz plik o nazwie000-default.conf
. - skopiuj ten plik:
cp 000-default.conf example.local.conf
- otwórz ten nowy plik(używam Nano; używaj tego, co Ci odpowiada).
- zobaczysz wiele skomentowanych linii, które możesz usunąć.
- Zmień
<VirtualHost *:80>
na<VirtualHost example.local:80>
- Zmień główny dokument, aby odzwierciedlał lokalizację plików.
- Dodaj następujący wiersz:
ServerName example.local
i jeśli potrzebujesz, dodaj ten wiersz:ServerAlias www.example.local
- Zapisz plik i uruchom ponownie Apache:
service Apache2 restart
Otwórz przeglądarkę i przejdź do example.local
. Powinieneś zobaczyć swoją stronę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-09 21:51:31