我的目标是发生以下情况,当用户访问左下方的网站时,它会将他们带到右侧的目录:
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,但每次我尝试访问任何其他子域时,它都会带我到500并发出500内部服务器错误。当我输入子域名时,URL会更改为如下所示:
{subdomain}.example.com/sites/{subdomain}/public_html/
我在Apache 2.4.7上,是的,我在我的DNS服务器上设置了WildCard。我非常感谢任何答案,认为我已经在墙上摔了两个星期试图让这个工作。
答案 0 :(得分:0)
我认为您正在寻找的配置与此非常相似:
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>
你怎么想?
在这种情况下,任何子域都将重定向到同一站点。这是你想要的配置吗?或者您希望每个子域有不同的配置?
答案 1 :(得分:-1)
好的,整个问题来自于通配符目录位于另一个已绑定的目录下。在我在其他地方创建了一个目录后,它开始像预期的那样工作,去图......
希望这可以帮助碰巧遇到这个奇怪错误的其他人...... ^ _ ^