繁体   English   中英

添加Apache VirtualHost,localhost的DocumentRoot更改为VirtualHost的DocumentRoot

[英]Adding Apache VirtualHost, DocumentRoot of localhost changes to the VirtualHost's DocumentRoot

一切都在我的Windows 7中完美运行。

问题是当我将domain1.com添加为VirtualHost时,localhost的DocumentRoot更改为VirtualHost的DocumentRoot。

例如:当我访问http:// localhost时 ,我打开了为domain1.com指定的DocumentRoot,而不是httpd.conf中指定的那个。

我的httpd-vhosts.conf文件是:

NameVirtualHost 127.0.0.1:80
NameVirtualHost domain1.com:80
<VirtualHost domain1.com:80>
<Directory "e:/program files/apache/htdocs/domain1.com">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
ServerName domain1.com
ServerAlias domain1.com
ScriptAlias /cgi-bin/ "e:/program files/apache/htdocs/domain1.com/cgi-bin/"
DocumentRoot "e:/program files/apache/htdocs/domain1.com"
ErrorLog "E:/Program Files/apache/logs/domain1.com.err"
CustomLog "E:/Program Files/apache/logs/domain1.com.log" combined
</VirtualHost>

我的主机文件:

127.0.0.1   domain1.com

我的httpd.conf文件:

DocumentRoot "e:/program files/apache/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "e:/program files/apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

我知道一个解决方案是添加VirtualHost,ServerName为127.0.0.1或localhost但我避免这样做。

我可以将httpd.conf中指定的localhost的DocumentRoot设为默认值吗?

如果您需要其他信息,请与我们联系。

谢谢,吉甲。

https://httpd.apache.org/docs/2.2/vhosts/name-based.html中所述

“如果要将虚拟主机添加到现有Web服务器,还必须为现有主机创建<VirtualHost>块。此虚拟主机中包含的ServerNameDocumentRoot应与全局ServerNameDocumentRoot 。列出此虚拟主机首先在配置文件中托管,以便它将作为默认主机。“

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM