我的服务器上有此虚拟主机配置。除了带有 www 的子域名外,其他一切都正常。当我访问带有 www 的 URL 时,出现 404 错误。我尝试使用 mod rewrite 解决此问题,但我不知道该怎么做。有人能帮助我吗?谢谢。
<VirtualHost *:80>
ServerAdmin mail@localhost
ServerName domain.com
ServerAlias www.domain.com
UseCanonicalName Off
VirtualDocumentRoot /var/www/domain.com/www/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin mail@localhost
ServerName *.domain.com
ServerAlias *.domain.com
UseCanonicalName Off
VirtualDocumentRoot /var/www/domain.com/sub/%-3+
</VirtualHost>
答案1
尝试使用DocumentRoot
而不是VirtualDocumentRoot
for www.domain.com
?
答案2
我认为您不能在 ServerName 上使用通配符(与 ServerAlias 相反),也许这会造成问题?请尝试ServerName domain.com
在通配符虚拟主机上使用通配符。
另外,您可能应该将 404 错误发布到您的 error_log 中。报告缺失的实际路径可能有助于了解 apache 如何解析请求。