【问题标题】:Unable to configure virtual hosts on apache2 under windows 7 - returns 403 errorWindows 7 下无法在 apache2 上配置虚拟主机 - 返回 403 错误
【发布时间】:2012-03-22 03:19:56
【问题描述】:

一天的好时光! 我在 Windows 7 上成功使用了 apache + php,但现在我决定制作几个虚拟主机。我在 apache config 的末尾添加了这样的部分:

<virtualhost> 
ServerAdmin yourmail@domain.com 
ServerName jiifirst 
DocumentRoot "c :/ apache2/web/jiifirst/htdocs" 
ScriptAlias ​​/ cgi-bin / "c :/ apache2/web/jiifirst/cgi-bin /" 
ErrorLog c :/ apache2 / web / jiifirst / logs / error.log 
CustomLog c :/ apache2/web/jiifirst/logs/access.log common 
</ virtualhost>

然后创建相应的文件夹。但是,当我尝试拨打 http://127.0.0.2/test.php 出现这样的错误:

错误禁止 您无权访问此服务器上的 /test.php。

同时我仍然可以毫无问题地访问 localhost。我还更改了文件夹的权限。我应该更改哪些 apache 设置来解决此问题?

【问题讨论】:

  • 阿帕奇。 Windows 7。没有响应。惊讶吗?
  • 我很惊讶!

标签: apache2 virtualhost hosts


【解决方案1】:

首先,配置中的所有空格是什么?例如。 "c :/ apache2/web/jiifirst/htdocs"。那不是您的真实配置;你是怎么剪切和粘贴这个的?

其次,您正在以http://127.0.0.2 的身份与服务器通信。是的,那是服务器的 IP 地址,但在 HTTP(至少 1.1 及更高版本)中,地址不仅仅意味着识别机器上的网卡。它标识一个网站域。该地址进入协议,网络服务器可以决定向客户端提供哪个网站(在相同的 IP 地址上)。

您的VirtualHost 定义了一个域名为jiifirst 的网站。这与基于 IP 的访问 127.0.0.2 不匹配。

但是,仍然可以匹配VirtualHost。您的 VirtualHost 缺少地址和端口匹配字段,但如果看起来像这样:

<VirtualHost *:80>

这意味着VirtualHost 可以匹配从任何地址到端口 80 的基于 IP 的请求。如果 Apache 在任何 VirtualHost 条目中找不到与主机名完全匹配的内容,(并且您有没有特殊的默认 VirtualHost),它将按照出现的顺序选择与地址匹配的第一个。

&lt;VirtualHost&gt; 上没有地址可能是事情没有发生的原因(如果它们确实是真实的,也可能是空间)。

【讨论】:

    【解决方案2】:

    我的问题的真正解决方案是在部分

    选项 FollowSymLinks AllowOverride 无 命令拒绝,允许 拒绝一切

    我只需将全部拒绝更改为全部允许 现在一切正常!

    【讨论】:

      猜你喜欢
      • 2012-03-18
      • 2014-10-29
      • 2014-10-23
      • 1970-01-01
      • 2017-01-03
      • 2013-07-12
      • 2019-01-01
      • 2011-09-07
      • 2014-08-12
      相关资源
      最近更新 更多