Tia*_*hou 2 apache2 virtualhost
以下是我的配置文件:
NameVirtualHost 12.34.56.78:80
<VirtualHost 12.34.56.78:80>
ServerAdmin admin@domain1.com
ServerName domain1.com
ServerAlias www.domain1.com
DocumentRoot /srv/www/domain1.com/public_html1/
ErrorLog /srv/www/domain1.com/logs/error.log
CustomLog /srv/www/domain1.com/logs/access.log combined
</VirtualHost>
<VirtualHost 12.34.56.78:80>
ServerAdmin admin@domain2.com
ServerName domain2.com
ServerAlias www.domain2.com
DocumentRoot /srv/www/domain2.com/public_html1/
ErrorLog /srv/www/domain2.com/logs/error.log
CustomLog /srv/www/domain2.com/logs/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
问题是当我www.domain1.com进入浏览器时,apache2不会检索驻留的网页/srv/www/domain1.com/public_html1/,而是从另一个文件中定义的默认文档根获取页面.但是,如果我放www.domain2.com,一切正常.我没有看到两个VirtualHost配置块之间有任何区别,所以我想知道它有什么不同.顺便说一句,我没有.htaccess在他们的文档根目录下放任何文件.
小智 5
尝试通过发出以下命令检查Apache配置:
/ usr/sbin/apache2ctl -S
我猜您的"默认"虚拟主机使用"www.domain1.com"作为其ServerName,因此它响应对"www.domain1.com"的请求.
在我的机器上,这是因为"www.domain1.com"是我机器的主机名.如果未指定ServerName,Apache会尝试猜测 - 导致上述问题.
我通过在sites-available/default中指定"ServerName default"来解决这个问题.
这可能也有一些帮助:
http://httpd.apache.org/docs/current/dns-caveats.html
| 归档时间: |
|
| 查看次数: |
14566 次 |
| 最近记录: |