Apache-2.2

在 localhost 上設置子域

  • March 12, 2012

我一直在嘗試在我的本地開發環境中設置一個子域,dev.localhost. 我正在使用 Ubuntu 11.10 和 Apache2。到目前為止,我已經編輯了我的主機文件以包含127.0.0.1 dev.localhost. 我創建了一個名為的文件axis/etc/apache2/sites-available如下所示:

<VirtualHost *:80>
   DocumentRoot /var/www/Axis/trunk
   ServerName dev.localhost
   ServerAlias *.localhost

   <Directory /var/www/Axis/trunk/>
           Options Indexes FollowSymLinks MultiViews +Includes
           AllowOverride None
           Order allow,deny
           allow from all
   </Directory>
</VirtualHost>

然後,我使用sudo a2ensite axis. 我遇到了 no host named 錯誤並將該行添加ServerName localhost到我的default文件中sites-availableNameVirtualHost我還遇到了NameVirtualHost *:80一個httpd.confports.conf.

現在,當我導航到時,dev.localhost我會得到與導航到相同的網頁localhost。換句話說,兩者都localhost指向dev.localhost/var/www但我想dev.localhost指向/var/www/Axis/trunk

知道我哪裡出錯了嗎?謝謝

編輯:輸出來自apache2ctl -S

ulimit: 88: error setting limit (Operation not permitted)
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
    default server localhost (/etc/apache2/sites-enabled/000-default:1)
    port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default:1)
    port 80 namevhost dev.localhost (/etc/apache2/sites-enabled/axis:1)
Syntax OK

您需要設置您的/etc/hostsC:\Windows\system32\drivers\etc\hosts(作為管理員)以反映“子域”。所以添加127.0.0.1 dev.localhost到任一文件(取決於您的平台)。

但是,就域名解析而言,“localhost”可能有些特殊,因為它可能無法用作域。mylan.local因此,您可以將諸如伺服器名稱和子域之類的東西放在一起dev.mylan.local。(你基本上可以在那裡使用你想要的一切)

最後,不要忘記重新載入 Apache,apache2ctl restart因為它需要重新載入其配置。

引用自:https://serverfault.com/questions/368882