2016-07-22 11 views
0

このタイプの質問は既に尋ねられ、回答されています。私はいくつかの方法で試してみましたが、うまくいきません。そのような.htaccessでURL書き換えを使用してGETパラメータを非表示にする

domain.com/brands?p=2 

と私は希望のアクセスを::

は、だから私は、URLがそのようであるページを変更した瞬間のために、私は製品や改ページのリストをしたページへのアクセス
domain.com/brands/2 

私が試した最後の方法はこの1つだった:

RewriteRule ^brands/([0-9]*)$ brands?p=$1 [L] 

が、私は404エラーを取得するページにアクセスしよう。

だから間違いはありますか?または、問題は他の場所にありますか?別のURLのように、この1と干渉する書き換え..

+1

拡張子はありませんか? .phpのようなものか何か? – Grommy

+0

この新しい書き換えを妨げているファイル拡張子がないという説明があるかもしれません。*ブランド*はディレクトリであり、URLは実際は*/brands/indexです.php * – CD001

+0

はい、それは拡張子を持っていますが、CD001が言ったように、私はすでにそこに書き換えがあると思います。実際に私はCMS(prestashop)を使用していますが、現時点では、使用されている元のファイルは何か分かりません。 少なくとも、問題は私が試したルールから来ていないことを知っています。 –

答えて

0

は、ここにあなたが適用できる例です:

Rewriterule ^post/([0-9]+)/?$ /blog.php?id_blogs=$1 
0

あなたはこの1つを試すことができます。

RewriteCond %{THE_REQUEST} /brands\.php\?p=([^\s&]+) [NC] 
RewriteRule^brands/%1? [R=302,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^brands/([^/]+)/?$ index.php?p=$1 [L,QSA,NC] 

は使用RewriteEngine ONにしてください

RewriteEngine on 
0

次のコードを使用してパラメータを取得しないようにする

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^blog/(.*)/$ /blog.php?slug=$1 [L] 
関連する問題