1

何らかの理由でこれが機能していません...

Options +FollowSymLinks -MultiViews -Indexes
RewriteEngine On
RewriteBase /

Redirect 301 "/modules.php?name=News&file=article&sid=179" http://www.mysite.com/a/new/url

理由はわかりません...リダイレクトされているURLを別の存在しないもの(/ helloworld)に置き換えると、新しいURLに正常にリダイレクトされます..

何か引っかかるの?(/modules.php\?name=News&file=article&sid=179) をエスケープしようとしましたが、違いはなく、404 だけでした。

どんな助けでも大歓迎です!

4

1 に答える 1

0

ディレクティブのクエリ文字列と照合することはできませんRedirect。mod_rewrite と%{QUERY_STRING}変数を使用する必要があります。これを試して:

RewriteCond %{QUERY_STRING} name=News&file=article&sid=179
RewriteRule ^/?modules\.php$ http://www.mysite.com/a/new/url? [R=301,L]
# There is a ? here to prevent query strings appending -----^
于 2012-08-01T05:17:10.643 に答える