2017-08-22 9 views
0

をクエリ文字列のために、私は、クエリ文字列にURLを書き換える必要があります。のApacheのRewriteRule

http://www.example.com/?p=121&cpage=7

へ:

http://www.example.com/

htaccessファイルでそれを行うための最も簡単な方法は何ですか?

RewriteEngine On 
RewriteCond %{QUERY_STRING} p=(.+)$ 
RewriteRule ^(.*)$ http://www.example.com? [R=301,L] 

{QUERY_STRING}が正しいクエリを検出し、条件が満たされた場合、それはwww.example.comにそれを書き換えます:

+1

これまでに何を試しましたか? – pchaigno

+0

RewriteRule^p $/[L] – azathoth

答えて

1

あなたは使用していることを達成することができます。

リダイレクトされたURLの末尾にある?は、URLの最後にクエリ文字列が表示されないようになっています。

これをテストする前に、キャッシュをクリアすることを確認してください。

+0

ありがとう、私は "p"の後に任意のパラメータを必要とすることを忘れてしまった、基本的にどのURL?p =はリダイレクトする必要がある – azathoth

+0

パラメータ'p'は無視され(' cpage')、 'p'に関連する任意の数値変数をとります。 – Lag

+0

私は実験していた RewriteCond%{QUERY_STRING} p? – azathoth

関連する問題