【发布时间】:2011-07-23 12:14:47
【问题描述】:
我遇到了阻止 php 脚本访问的 htaccess 问题。
这是我在加载页面时收到的错误消息:
您无权访问此服务器上的 /index.php。
当我删除 .htaccess 文件时,我可以毫无问题地访问 index.php。
相同的 .htaccess 文件在我使用的不同主机上运行良好。
我的 .htaccess 文件(编辑:根据 toopay 的建议重新排列)
RewriteEngine On
<Files .*>
Order allow,deny
Allow from all
</Files>
Options FollowSymLinks
RewriteRule ^photos.+$ thumbs.php [L,QSA]
RewriteRule ^[a-zA-Z0-9\-_]*$ index.php [L,QSA]
RewriteRule ^[a-zA-Z0-9\-_]+\.html$ index.php [L,QSA]
我确实尝试将文件权限设置为 644、755、777,但仍然无法使用任何设置。
您能帮我看看我有什么问题吗,因为这是第一次发生,并且相同的 .htaccess 文件在同一主机上的不同域(文件夹)上运行良好。
【问题讨论】:
-
开启重写引擎日志并检查输出。
-
你的最后 2 个重写器不能产生无限循环吗?只是一个想法。
-
@Tomas 它没有产生无限循环:倒数第二行没有停放 (.) 最后一行仅解析 .html 文件,而不是图像等。 (这最后一行之所以需要,只是因为该站点以前是静态 html -> 这样我们就不会失去访问者:php 之后会正确重定向)