2016-11-22 1 views
1

私は以下のhtaccessルールを使用しています。最初のものは正常に動作しています。 2番目のルールは機能しません。私が2番目のもののために書いたルールは、最初のルールに取り組んでいます。PHP htaccessは、異なるパラメータを持つ同じページにルールを書き換えます。

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /Burjalif/ 

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

RewriteCond %{THE_REQUEST} /Products(?:\.php)?\?MC=([^&]+)&SC=([^\s&]+) [NC] 
RewriteRule^%1/%2? [R=302,L] 

# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

# PHP hiding rule 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [L] 

RewriteRule ^([^/]+)$ Products.php?MC=$1 [L,NC,QSA] 

RewriteRule ^([^/]+)/([^/]+)$ Products.php?MC=$1&SC=$2 [L,NC,QSA] 

この問題を解決するのを手伝ってください。

答えて

0
これにあなたの最初のルールを変更し

RewriteCond %{THE_REQUEST} /Products(?:\.php)?\?MC=([^\s&]+)\sHTTP [NC] 
RewriteRule^%1? [R=302,NE,L] 

これは、クエリ文字列にパラメータを1つだけ一致していることを保証します。

+0

Hai bro.Tこれも働いています。私は3つまたは4つのパラメータを使用していますが、私は何をする必要がありますか。 – user3667960

+0

ルールをいくつでも持つことができます。ルールの終わりに 'RewriteCond%{THE_REQUEST} ..'の' \ sHTTP'を置いて、不要なパラメータのマッチングを避けてください。 – anubhava

+1

ありがとうbro.Itは正常に動作しています – user3667960

1

ルールの順序を変更します。

毎回最初のルールに入ります。

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /Burjalif/ 

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

RewriteCond %{THE_REQUEST} /Products(?:\.php)?\?MC=([^&]+)&SC=([^\s&]+) [NC] 
RewriteRule^%1/%2? [R=302,L] 

# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

# PHP hiding rule 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([^/]+)/([^/]+)$ Products.php?MC=$1&SC=$2 [L,NC,QSA] 
RewriteRule ^([^/]+)$ Products.php?MC=$1 [L,NC,QSA] 
RewriteRule ^(.*)$ $1.php [L] 
+0

ハイブロー。ありがとうございます。もう1つのパラメータ(3を意味します)を導入した場合、これは最初の右にあるはずです – user3667960

+0

はい。 同じベースを持つルールが異なる場合は、より複雑なルールから開始する必要があります。 –

+0

解決方法を教えずに追加してもらえますか? – Xorifelse

関連する問題