2016-07-15 13 views
1

を与えられたときに親に書き換えるの.htaccess、私はこのようにリダイレクトしたいと思います:パラメータは、私は私の.htaccessでのRewriteRuleに問題がある

www.mywebsite.com/category?p=2

カテゴリが可変である

www.mywebsite.com/category

へ。

私は書き換えエンジンをオンにしており、他のリダイレクトは正常に動作しています。これは私がこれまでに得たものです:

RewriteRule ^/([a-z_\/]*)\?? /$1 [R=301,L] 

これを達成する最も良い方法は何ですか?

+0

正確にp = 2のときにパラメータを破棄したいだけですか? –

+0

これらのルールをserver.configで使用していますか? – starkeen

+0

@DusanBajicいいえ、pパラメータが指定されている場合のみ、リダイレクトする必要があります。 – Edelweiss

答えて

2
あなたの要求は奇妙に見えますが、いずれにせよ、これはそれを行う必要があります

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^p= 
RewriteRule /?([a-zA-Z0-9]+)/? /$1? [R=301,L] 
+0

ええ、私は書き直しにはあまり経験はありませんが、これは魅力的です。ありがとう! – Edelweiss

+0

クエリ文字列がたとえば '?r = 4&q = 5&p = 6'の場合はリダイレクトされません –

1

使用この:

それはあなたの次のURLを与える
RewriteEngine On 
RewriteRule ^category$ /category?p=2 [L] 

www.mywebsite.com/category

+0

うーん..これは私のために働いていません。私は構文に慣れていませんが、** category $ **を**([A-Za-z])**のように変えてはいけませんか?私は今この 'RewriteRule^/([A-Za-z])/?p =([0-9] +)/ $ 1 [L、R = 301]'を持っています。 **([A-Za-z])**部分を取得して/ $ 1に使用する方法はありますか? – Edelweiss

関連する問題