这是我为 mydomain.org 设置的设置:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mydomain.org
ServerAlias *.mydomain.org
DocumentRoot /var/www/
</VirtualHost>
如果我请求 www.mydomain.org,apache 会抛出 403,并在日志中附加以下内容:
(13)权限被拒绝:/root/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读
我尝试将 ServerName 更改为 www.mydomain.org,并将 ServerAlias 更改为 www.mydomain.org,但没有成功。
我错过了什么?
答案1
您是否尝试过实际检查 .htaccess 文件是否可读 (或者 Apache 为什么要读取它)?ServerName 应为 mydomain.org,ServerAlias 应为 www.mydomain.org。
答案2
您不能在 ServerAlias 中放置星号 (*)。您应该输入您想要的名称。在您的例子中,ServerAlias www.mydomain.org
应该写成。
http://httpd.apache.org/docs/2.0/mod/core.html#serveralias
编辑:我发现了一些东西http://httpd.apache.org/docs/2.0/vhosts/name-based.html针对您的问题。我认为您的配置中存在另一个问题,例如其他虚拟主机,具有其他根目录。
答案3
听起来您正在尝试执行通配符 DNS,在这种情况下您可以使用星号。
这是我发现的一个很好的链接:http://ma.tt/2003/10/wildcard-dns-and-sub-domains/
此外,站在 Emthigious 的角度,检查你的 .htaccess 文件权限。