如何在 .htaccess 文件中为文档根目录中的特定目录执行此操作?:
- 拒绝对任何东西的所有访问(包括 .htaccess 太)
- 返回 404,而不是 403 错误
- 人类或机器人不应访问或检测到任何文件或子目录
- 只允许本地主机的 php 访问
好像会很简单。这有效,但抛出 403 而不是 404:
deny from all
为什么不创建自定义错误页面?
deny from all
ErrorDocument 403 /error/404.html
如果某人无权查看该页面,服务器将始终希望抛出 403 错误,而这正是您想要做的。但是,您可以更改错误 403 的 ErrorDocument 以显示一个表明它是 404 错误的 HTML页面。
我的示例在根目录中有一个名为的文件夹,其中有一个名为error
.html 的 html 文件404.html
。
你有没有尝试过这样的事情?当有人试图查看 DIRECTORY 中的任何内容时,这将强制出现 403 Forbidden 错误。PHP 脚本仍然可以访问目录中的所有内容。显然将 DIRECTORY 替换为您的首选目录。
RewriteRule ^DIRECTORY - [F]
我不喜欢发送一些说它是 404 错误的 html 页面,而实际上它只是一个 html 页面,也可能位于 Iamafake404error.html
你可以试试这个:
Order Deny,Allow
Deny from all
Allow from 1.2.3.4
ErrorDocument 403 /throwaREAL404error.html
ErrorDocument 404 /throwaREAL404error.html
ErrorDocument 500 /throwaREAL404error.html
### never deliver .git folders, .gitIgnore
RewriteRule ^(.*/)?\throwaREAL404error.html+ - [R=404,L]
# 2nd line of defense (if no mod_rewrite)
RedirectMatch 404 ^(.*/)?\throwaREAL404error+