1

別のサイトにリダイレクトしようとしています。次のルールは、my 内の他のすべてのルールに対して完全に機能します.htaccesが、次のルールは機能しないようで、多くの試行錯誤の後、その理由を理解できません。

RewriteCond %{HTTP_HOST} ^www.oldexample.com$ 
RewriteRule ^folder3/page.php?value=(.*)$ http://newexample.com/folder1/page.php?value=$1 [L,R=301,NC]

(.*)リダイレクトされたが追加された値なしで次のことを試しました

RewriteCond %{HTTP_HOST} ^www.oldexample.com$ 
RewriteRule ^folder3/page.php?(.*)$ http://newexample.com/folder1/page.php?$1 [L,R=301,NC]

これはシンボルの問題=でしょうか?私はそれをエスケープして、.またエスケープしようとしましたが、役に立ちませんでした

4

1 に答える 1

0

書き換えルールではクエリ文字列 ( ?の後のすべて) と照合することはできませRewriteCond%{QUERY_STRING}。ただし、変更せずにクエリ文字列を渡そうとしているようです。したがって、それをいじる必要はありません。

RewriteCond %{HTTP_HOST} ^www.oldexample.com$ 
RewriteRule ^folder3/page.php$ http://newexample.com/folder1/page.php [L,R=301,NC]

クエリ文字列は自動的に追加されます。このルールは、内部の書き換えの前に実行する必要があるため、ルーティング ルールの上にあることを確認する必要があります。

于 2013-10-03T14:32:59.633 に答える