2009-07-03 10 views
0

私はかなり単純なルールだと思っていましたが、何かが痛いほど分かりにくいか、それほど単純なルールではないと書いています。実際には2人の他の人がそれを見て、誰が私が間違っているのか分からないように見えるかもしれません。.htaccessで完全に困惑しました

サイトを新しいプラットフォームに移行したばかりで、ダイナミックページから特定のURLに301のリダイレクトを設定する必要があります。私が見つけたすべての例のように見える何かに私を指すhttp://www.example.com/products/collections/gourmet-side-dishes

にリダイレクトする

products.asp?dept=15ニーズ:

RewriteCond %{query_string} &dept=15 
RewriteRule ^/products\.asp$ http://www.example.com/products/collections/gourmet-side-dishes/? [R=301,L] 

しかし、これは動作しません。助けてください!私はセス

答えて

0

は、例えば、あなたの例のURLに存在していない主要なアンパサンド、との条件を試してみてください 、事前に404

おかげに行くからこれらのページを停止する必要があります

RewriteCond %{query_string} dept=15 
RewriteRule ^/products\.asp$ http://www.somedomain.com/products/collections/gourmet-side-dishes [R=301,L] 
1

あなたの書き換えルールから先頭のスラッシュを脱ぐ必要があるかもしれません:

RewriteRule ^/products.... 
# becomes 
RewriteRule ^products... 
0
プラス、私は、の順序言って恥ずかしい、両方のチップの組み合わせであることが判明し

私のルール。私のために働いた

最終規則は次のとおりです。

RewriteCond %{query_string} dept=15 
RewriteRule ^products\.asp$ http://www.somedomain.com/products/collections/gourmet-side-dishes? [R=301,L] 
0

あなたは.htaccessファイル内のルールを使用している場合、コンテキストごとのディレクトリパスのプレフィックスは、試験前に取り出して、ルールを適用した後に再び追加されます。

RewriteCond %{query_string} &dept=15 
RewriteRule ^products\.asp$ http://www.example.com/products/collections/gourmet-side-dishes/? [R=301,L] 

はディレクトリ毎のは詳細についてRewriteRule directiveの説明でボックスを書き換え参照してください。

関連する問題