3

如何设置拒绝文件夹中任何.php文件访问的 .htaccess,并在发生 403、404 和 500 时include/将用户重定向到(根)目录error中的页面,但调用的2 个文件除外?public_html/index.phpkey.php

目前这就是我所拥有的:

<Files "^*\.php$">
order allow,deny
deny from all
</Files>
ErrorDocument 403 /error.html
ErrorDocument 404 /error.html
ErrorDocument 500 /error.html

<FilesMatch "^(index|key)\.php$">
Allow from all
</FilesMatch>

但这不能正常工作,只能<FilesMatch "^(index|key)\.php$">正常工作。

谢谢!

4

1 回答 1

1

如果不是这种情况,您应该将.htaccess文件放入目录中。include/我认为您使用了标记的FilesMatch语法。Files

<FilesMatch "^.*\.php$>
    order deny,allow # Deny here, allow later.
    deny from all
</Files>

<FilesMatch "^(index|key)\.php$">
    allow from all  # Allow here.
</Files>

然后,在您的根目录 ( public_html/) 中,您可以使用:

ErrorDocument 403 /error.html
# Try ../error.html if you put this line in include/.htaccess

确保路径error.html有效。如果您看到类似“查找错误文档时遇到错误”,那么它是错误的(尝试来自 Linux 根目录的绝对路径?)

于 2013-10-01T14:27:57.073 回答