0

次のようなさまざまなクエリ文字列を使用して、.php拡張子とリンクを削除するための共通ルールをhtaccessに設定しようとしています

domainname.com/welcome.php?user=normal&type=free&uid=100
domainname.com/welcome.php?user=normal
domainname.com/welcome.php?log=new&theme=red

そして、次のような期待されるリンク

domainname.com/welcome?user=normal&type=free&uid=100
domainname.com/welcome?user=normal
domainname.com/welcome?log=new&theme=red

次のような htaccess ファイルに設定されたルール:

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/welcome/$ $1/welcome.php? [QSA,NC,L]

しかし、うまくいかないこともあります。私は何か間違ったことをしていますか?

4

2 に答える 2

1

ルート ディレクトリの .htaccess ファイルでこれを試してください。

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI}  !welcome\.php [NC]
RewriteRule ^welcome/?  /welcome.php      [NC,L]

クエリ文字列は自動的に渡されます。

于 2013-04-04T18:22:35.927 に答える