0
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f [NC]
RewriteRule ^ %{REQUEST_URI}.php [L]

.php上記は、すべての URL から削除する限り機能します。存在する場合、URLの後にすべてのパラメータを削除することは可能ですか? たとえば、次のように書き換えますsite.com/index.php?id=24site.com/index

4

1 に答える 1

1

?%1 の後に a を追加:

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1? [R,L,NC]
# here ---------^

?書き換えルールのターゲット URI に がある場合、フラグがない限り、ルールはクエリ文字列を追加しませんQSA

于 2012-09-11T06:27:51.207 に答える