0

apache mod rewrite は私に奇妙な動作をしています: 私はこれをリダイレクトしようとしています: http://www.website.com/page.php?id=34 これに: http://www.website.com/

htaccessでこれを使用します:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^page\.php$ "http://www.website.com" [R=301,L]

正常に動作しますが、リダイレクトされた URL にクエリ文字列も追加します。

http://www.website.com/?id=34

リダイレクトされた URL からクエリ文字列を削除するにはどうすればよいですか?

4

2 に答える 2

3

デフォルトでは、mod_rewriteはクエリ文字列を変更せず、クエリ文字列を変更せずに保持し、新しいURIが何であれそれらに渡します。それらを削除するには、新しいURLを疑問符で終了する必要があります。また、その周りに引用符は必要ありません。これは機能するはずです:

RewriteRule ^page\.php$ http://www.website.com? [R=301,L]
于 2012-05-08T19:33:33.253 に答える
1

うまくいくかどうかわかりませんが、試してみてください:

RewriteRule ^page\.php "http://www.website.com" [R=301,L]
于 2012-05-08T17:10:21.117 に答える