0

すべての .php ファイルをブロックするために、次の htaccess コードがあります。

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 に答える