1

.htaccess ファイルにコードがあります。すべての .php を非 php にリダイレクトします。1つのphpファイルのみをリダイレクトし、残りをリダイレクトしないようにしたい..たとえば、abc.phpをabcにしたいが、bcd.phpはbcd.phpのまま..このスクリプトを変更してこの結果を得るにはどうすればよいですか? ありがとう。

RewriteEngine on
#Redirect non-php to php and stop futher processing
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

#redirect .php to non-php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.php$ $1 [R=301,L]
4

2 に答える 2

2

このコードはあなたのために働くはずです:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(abc)\.php[?\s] [NC]
RewriteRule ^ %1 [R=301,L]

#Redirect non-php to php and stop futher processing
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

%{THE_REQUEST}ループを避けるために、Apache が受信した元の HTTP 要求を表すここで使用することが重要です。%{THE_REQUEST}に使用される URI パターンの場合とは対照的に、さまざまな書き換えルールで書き換えられませんRewriteRule

于 2013-09-30T19:37:45.740 に答える