gpt4 book ai didi

apache - 在 apache 上使用 htaccess 对所有文件但某个文件发送访问被拒绝错误

转载 作者:行者123 更新时间:2023-12-04 05:03:20 25 4
gpt4 key购买 nike

我有一个包含各种 .php 文件的文件夹,我想防止直接访问它们,但要阻止对 index.php 的访问。

这是我到目前为止所得到的,它似乎有效:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /403.php/$1 [R=403]
</IfModule>

这是正确的方法吗?另请注意,文件夹中的文件中实际上并不存在 403.php。

编辑:为了更好地阐明我要做什么——我有一个文件夹(我们可以假设名为“includes”),其中包含一个 index.php 文件,以及 index.php 包含的各种其他文件。

我不希望用户/恶意机器人/任何人能够直接访问 index.php 以外的“包含”中的任何内容。

如果他们到达其他任何东西(无论文件是否存在),我想向浏览器发送 403 - Access Denied HTTP 响应代码。

最佳答案

正确的方法是使用F标志,它只会返回 403 forbidden,您可以使用 -作为目标,它的意思是“什么都不做,让 URI 保持不变”:

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ - [L,F]

或者您可以尝试将条件与规则结合起来:
RewriteEngine on
RewriteRule !index\.php$ - [L,F]

关于apache - 在 apache 上使用 htaccess 对所有文件但某个文件发送访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com