5

リダイレクトしようとしています (クエリ文字列がないことに注意してください):

http://www.reviews.com/review/review_review.cfm?review_id=135223

http://www.reviews.com/

現在のルール:

Redirect 301 /review/review_review.cfm http://www.reviews.com/

元の URL をリダイレクトするhttp://www.reviews.com/?review_id=135223

いくつかのスタックに関する質問hereおよびhere?に基づいて、以下のようにリダイレクト ルールに a を追加できるはずです。

Redirect 301 /review/review_review.cfm http://www.reviews.com/?

しかし、これはにリダイレクトしhttp://www.reviews.com/?ます。末尾の ? 残ります。どうすればこれを取り除くことができますか。

4

1 に答える 1

16

?mod_alias を使用して無関係なものを取り除くことはできません。はクエリ文字列が追加されるの?を防ぎますが、mod_alias を使用すると、残念ながら?リダイレクトの一部として が含まれます。ただし、?既存のクエリ文字列を含めないように指示する最後に を追加すると、mod_alias と同じように機能しますが、その後は mod_alias によって再度処理され、末尾の が差し引かれる?ため、最終結果は?URL の末尾に末尾がありません。次のようなものです:

RewriteEngine On
RewriteRule ^/?review/review_review.cfm$ http://www.reviews.com/? [L,R=301]

そして、これはRedirectステートメントを置き換えます。

于 2013-03-01T05:11:52.113 に答える