2009-06-29 10 views
3

私はクエリ文字列を新しいURLに転送する必要があるhtaccessリダイレクトを持っていますが、リダイレクト後に削除されています。誰かが何が間違っているか教えてくれますか?htaccessリダイレクトクエリ文字列を追加しますか?

RewriteRule ^services/agents.*$   https://services.example.com/agents/ [R=301,L,QSA] 

答えて

2

私のサーバーでも同じルールが有効です。問題は他にもあるはずです。 あなたはターゲットが任意のクエリ文字列が含まれていないので、QSAフラグを追加する必要はありませんので、予めご了承ください

http://mysite.com/services/agents/foo?foo=bar => https://services.mysite.com/agents/?foo=bar 

をリダイレクト私は自分のサーバー上の同じルールを追加し、私は次の取得します。 This articleには、Htaccessとクエリ文字列の処理に役立つ情報が含まれている場合があります。

+0

私はそれを理解しました。私がリダイレクトしていたサーバーには、/ agents/=>/services/agents用に独自のリダイレクトが設定されていました。一口.. – Aaron

2

一般的に、置換のクエリを指定しない場合は、クエリを明示的に追加したり、QSAフラグを使用する必要はありません。あなたのルールがうまくいかないと言ったように、これを試してみてください:

RewriteRule ^services/agents.*$ https://services.example.com/agents/?%{QUERY_STRING} [R=301,L] 
関連する問題