php - htaccess阻止除了根文件之外的php文件

时间:2012-07-30 16:22:12

标签: php .htaccess

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

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

但我怎么能只阻止不在root中的文件。

例如

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

1 个答案:

答案 0 :(得分:0)

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

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

另外,请参阅Marc B的评论。