我的网站上有各种子文件夹,我希望用户无法通过 URL 访问它们,但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作.
我尝试将 .htaccess 与
一起使用<Files *>
Order Allow,Deny
Deny from All
</Files>
但它甚至拒绝了我自己脚本中的所有访问。我发现这是合乎逻辑的,但我不知道如何让它发挥作用。有任何想法吗?
附言我主要担心的是一些文件没有包含在主 PHP 文件中,但是它们在那里链接并且它们的代码以 header('Location: ../index.php');
返回到项目的主页。
最佳答案
我看到很多答案都是Allow,Deny not Deny,Allow
这个问题的顺序是导致问题的原因。您是在告诉计算机拒绝比允许更重要,因为它排在最后。给你看……如果你说:
<Files .htaccess>
Order Allow,Deny
Deny From All
Allow From xxx.xxx.xxx.xxx 127.0.0.1
</Files>
你说的是先允许任何人允许,然后拒绝所有......这仍然拒绝所有。
如果您反转为 Deny,Allow 就是说 Deny All,然后是 Allow anyone Allowed。
<Files .htaccess>
Order Deny,Allow
Deny From All
Allow From xxx.xxx.xxx.xxx 127.0.0.1
</Files>
允许命令更重要,因为它是最后一个命令,因此允许那些列在允许来自命令之后的命令。
xxx.xxx.xxx.xxx = 您的 IP
关于php - .htaccess 只允许从包含文件访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9825183/