如果 mydomain.org 运行正常,为什么 apache 会拒绝对 www.mydomain.org 的请求?

如果 mydomain.org 运行正常,为什么 apache 会拒绝对 www.mydomain.org 的请求?

这是我为 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 文件权限。

相关内容