简体   繁体   English

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

[英]php - htaccess block php files except root files

i have following htaccess code in order to block all .php files. 我有以下htaccess代码以阻止所有.php文件。

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

but how i can block only files not in root. 但是我怎么能只阻止不在根目录下的文件。

example

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

Not sure how that isn't looping, but you want to change your matching regular expression to include at least 1 depth in your path: 不确定如何不会循环,但是您想更改匹配的正则表达式以在路径中至少包含1个深度:

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

Also, see Marc B's comment. 另外,请参阅Marc B的评论。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM