Virtualhost
無法訪問 localhost 上的 Apache 2 虛擬主機
我最初將我的網路根設置
/etc/apache2/sites-available/000-default.conf
為指向/home/me/www
. 由於新項目的要求,我需要能夠將其設置/home/me/www/vendor/www
為自己的虛擬主機,因為請求中的任何本地目錄localhost/blah/blah/blah
目前都會導致它失敗(該站點非常可怕,程式碼方面,這就是為什麼我’已經簽約工作)。我有以下配置文件
/etc/apache2/sites-available
-
project2.com.conf
:<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName project2 ServerAlias localcopy ServerRoot /home/me/www/vendor/www/ DocumentRoot /home/me/www/vendor/www/ <Directory /home/me/www/vendor/www> Header set Access-Control-Allow-Origin "*" Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
我的
/etc/hosts
文件中還有以下條目:127.0.0.1 localhost 127.0.1.1 Shevat 127.0.1.2 project2.com # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
但是,當我嘗試
project2.com
通過瀏覽器訪問時,它會顯示/home/me/www
目錄的內容,因為就像我上面所說的那樣,我將其設置為我在/etc/apache2/sites-available/000-default.conf
.有沒有辦法在這種情況下覆蓋全域 Web 根/虛擬主機設置,以便正確訪問 project2.com?
設置 ServerName 參數時必須指定完整的主機名:
ServerName project2.com
由於您離開了“.com”,因此 apache 不知道將您發送到那裡。