阅读有关此问题的所有帖子 - 但没有任何一篇能够帮助我解决此问题...
我刚刚将我所有的开发资料从 Vista 机器(运行良好)移动到了 Windows 7 机器 - Apache 2.2...并且我使用相同的配置文件...但是现在由于某种原因,我的 .htaccess 文件导致出现“您无权访问此服务器上的 /”的错误。
(我确信它是 .htaccess 文件 - 因为如果我从目录中删除或重命名该文件 - 该网站就会正常显示...)
现在 - .htaccess 文件用于方便使用短 URL,我无法简单地将其删除 - 我的网站无权做出这样的设计决定 - 我只是在管理它...
到目前为止-我已确保我拥有所有配置条目,如下所示:
Order allow,deny
Allow from all
并通过 Windows 文件/目录 UI - 我已经设置了 httpd 根目录和我的 wwwroot(位于我的用户文件夹中)的文件夹权限,以便本地用户拥有完全控制权...
但我仍然收到错误...真令人沮丧。
错误日志内容为:
Sat Jan 14 21:17:03 2012] [error] [client 127.0.0.1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: C:/Users/me/wwwroot/{path to site}/
有趣的是 - Options FollowSymLinks 在 conf 文件中 - 与之前完全一样......
有人愿意指导我解决 win 7 上的权限问题吗????
提前致谢/
答案1
使用文本编辑器打开 httpd.conf 文件。在 XAMPP 中,此文件位于 \apache\conf 目录中,找到以下代码行:
#LoadModule rewrite_module modules/mod_rewrite.so
删除该行中的 # 以启用该模块,如下所示:
LoadModule rewrite_module modules/mod_rewrite.so
保存 httpd.conf 文件并重新启动服务器重新启动 Apache 服务器
答案2
我认为,如果您有Allow,Deny
并且 没有Deny
语句,则存在隐式Deny from all
。您应该交换顺序。如文档,无论如何,这样会更好,因为你们希望所有人都能做到。
通过使用,Deny,Allow
您是在说:
- 如果您的请求与拒绝规则匹配,并且不允许规则,然后拒绝
- 如果您的请求匹配拒绝但匹配允许,然后允许
- 如果您的请求不匹配拒绝但匹配允许,则允许
- 如果您的请求不匹配,则拒绝
我相信这会给你你想要的行为,同时完全明确。