0

我有以下 htaccess 代码以阻止所有 .php 文件。

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule .*\.php$ 404.php [L]

但是我如何只能阻止不在根目录中的文件。

例子

mywebsite/index.php    -  don't want to block
mywebsite/go/go.php    -  want to block
mywebsite/en/en.php    -  want to block
4

1 回答 1

0

不确定这不是循环的方式,但您想更改匹配的正则表达式以在路径中包含至少 1 个深度:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/?\ ]
RewriteRule ^[^/]+/.*\.php$ 404.php [L]

另请参阅 Marc B 的评论。

于 2012-07-30T16:28:22.667 回答