VirtualDocumentRoot 指令显示不正确的根目录

发布于 2024-12-24 16:00:01 字数 554 浏览 0 评论 0原文

我正在两个域上设置虚拟主机。 各个子域都有自己的文档根。

<VirtualHost *:80>
        ServerName *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

访问

应该显示

  • /var/www/domain2/www/

但它看起来/

  • var/www/domain1/www/

出了什么问题?

I am setting up virtual hosts on two domains.
Various sub domains have their own docroot.

<VirtualHost *:80>
        ServerName *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

Accessing

should show

  • /var/www/domain2/www/

but instead it looks for

  • /var/www/domain1/www/

What is going wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

太阳哥哥 2024-12-31 16:00:01

我认为您需要 udo 提到的 ServerAlias 选项来防止一个 VirtualHost 捕获所有内容。试试这个:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

I think you need the ServerAlias option that udo mentioned to prevent one VirtualHost from catching everything. Try this:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>
自由如风 2024-12-31 16:00:01

试试这个:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        DocumentRoot /var/www/domain1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        DocumentRoot /var/www/domain2/
</VirtualHost>

try this:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        DocumentRoot /var/www/domain1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        DocumentRoot /var/www/domain2/
</VirtualHost>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文