首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache权限被拒绝

Apache权限被拒绝
EN

Stack Overflow用户
提问于 2012-08-17 01:27:42
回答 1查看 43.6K关注 0票数 16

我刚刚在windows上安装了一个新的Apache 2.4.2和Php fast cgi。

然后我修改了httpd.conf,添加了以下内容:

代码语言:javascript
复制
LoadModule fcgid_module modules/mod_fcgid.so  
FcgidInitialEnv PHPRC "C:/SITE/PHP"
AddHandler fcgid-script .php
FcgidWrapper "C:/SITE/PHP/php-cgi.exe" .php

DocumentRoot "C:/SITE/localhost/www"
<Directory "C:/SITE/localhost/www">
    Order allow,deny
    Allow from all
</Directory>

然而,当我试图打开我的网站时,它显示:

Forbidden You don't have permission to access / on this server.

你知道问题出在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-17 02:23:19

这是正确的方法:(感谢DaveRandom)

代码语言:javascript
复制
<Directory "C:/SITE/localhost/www">
    Options ExecCGI
    AllowOverride all
    Require all granted
</Directory>

Dave Random进一步解释道:

在对此进行了一些实验之后,我发现了使这个问题成为正确答案的细微差别,这是特定于

2.3+的。似乎mod_authz_host指令优先于mod_access_compat指令,这在目录树中一直向上冒泡。这意味着如果您正在从Apache2.2迁移到Apache2.4,并且您逐字使用2.2的httpd.conf,那么它将会工作。

但是,如果执行2.4的新安装并基于默认的2.4 httpd.conf进行配置,则Allow指令将不起作用,因为默认的顶级部分使用Require all denied指令而不是Deny from all,并且该指令优先于树中更高层的任何后续Allow指令。简而言之,如果您正在将Order/Allow/Deny指令迁移到其等效的要求,那么您必须尝试所有这些指令,否则您会发现您得到了意想不到的403。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11992466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档