2012-03-20 12 views
2

リンクをリダイレクトするのが難しいです。ここに簡単な例があります。私はあなたが私に何が欠けているのかを教えて、それが失敗する原因になることを願っています。Apache mod_rewrite RewriteCondを使用してリンクをリダイレクトする方法?

RewriteCond %{QUERY_STRING} NAV=PIXIES 
RewriteRule ^/category.asp?NAV=PIXIES /category/pop-artpixies-trade- [R=301,L,NE] 

私が提供できる詳細情報をお知らせください。

答えて

2

クエリ文字列がRewriteRuleディレクティブに一致させるためのURIに含まれていません。

RewriteCond %{QUERY_STRING} NAV=PIXIES 
RewriteRule ^/category.asp$ /category/pop-artpixies-trade- [R=301,L,NE] 

これは、.htaccessファイル内にある場合、あなたは正規表現マッチで先頭のスラッシュを削除する必要があります。

あなたは(上記のルールが http://domain/category/pop-artpixies-trade-?NAV=PIXIEShttp://domain/category.asp?NAV=PIXIESを書き換えますので)実際に クエリ文字列から NAV=PIXIESを削除したい場合は
RewriteRule ^category.asp$ /category/pop-artpixies-trade- [R=301,L,NE] 

"?"を追加する必要があります。ターゲットの末尾まで:

RewriteRule ^category.asp$ /category/pop-artpixies-trade-? [R=301,L,NE] 
関連する問題