繁体   English   中英

Apache 2.4通配符子域虚拟主机

[英]Apache 2.4 Wildcard Subdomain Virtual Host

我的目标是发生以下情况,当用户访问左侧的下面的站点时,会将它们带到右侧的目录:

www.example.com or example.com  =>  /var/www/example/public_html/

*.example.com                   => /var/www/example/public_html/sites/%1/public_html/

我尝试了以下方法:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example/public_html
</VirtualHost>

<VirtualHost *:80>
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/example/public_html/sites/%1/public_html
</VirtualHost>

主域可以使用www,也可以不使用www,但是每次尝试访问任何其他子域时,它都会带我到500内部服务器错误。 输入子域时,URL变为如下所示:

{subdomain}.example.com/sites/{subdomain}/public_html/

我使用的是Apache 2.4.7,是的,我已经在DNS服务器上设置了WildCard。 我想对任何答案都表示感谢,因为我一直在试图将墙壁砸向墙壁两个星期,以使其正常工作。

我认为您要寻找的配置与此非常相似:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  DocumentRoot /var/www/example/public_html
</VirtualHost>

<VirtualHost *:80>
  ServerName *.example.com
  ServerAlias *.example.com
  DocumentRoot /var/www/wildcardexample/public_html
</VirtualHost>

你觉得呢? 在这种情况下,任何子域都将重定向到同一站点。 这是您想要的配置吗? 或者您想要每个子域不同的配置?

好的,整个问题出在通配符目录位于另一个已绑定目录下。 我在其他地方建立目录后,它开始按预期工作,请尝试一下...

希望这对碰巧遇到这个奇怪错误的其他人有所帮助... ^ _ ^

暂无
暂无

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

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