2012-04-18 11 views
1

htaccess、mod_rewrite、空のget varをチェックする方法?

  • http://site.com/audio/speakers?filter=はにリダイレクトする必要があります.. 'フィルタ' という名前のGET変数はmod_rewriteを持つ値であるかそうでないかをチェックする必要があります。これ1に

    を私の頭を破る:http://site.com/audio/speakers

  • http://site.com/audio/speakers?filter=yes shouldnリダイレクトする..

ありがとう!

答えて

2

あなたはこれを試すことができます。

RewriteCond %{QUERY_STRING} ^filter=$ [NC] 
RewriteRule ^audio/speakers$ http://site.com/audio/speakers? [R=302,L] 

それだけでこのURLをチェックします:/audio/speakers?filter=filterは最初で唯一の1つのパラメータであり、空である場合) - 正確にあなたのURLの例のように。複数のパラメータがある場合、一致しないので何もしません(filterが空になっても)。

必要に応じて、302(一時)から301(一時)へのリダイレクトコード形式を変更できます。

UPDATE:

RewriteCond %{QUERY_STRING} ^filter=$ [NC] 
RewriteRule ^(.*)$ http://site.com/$1? [R=302,L] 
+0

こんにちは、感謝しかし実際^オーディオ/スピーカーのためにこの作品のみそれがページによって異なる場合がありますが.. ..任意の提案が含まれているすべてのURLにこの作品を作るために空の/フィルター= URLの最後に? もう一度おねがいします! – quokka

+0

@quokka更新を参照してください - 任意のページで動作します。 – LazyOne

+0

ありがとう! – quokka