質問

次の書き換えルールがあります。

RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php\?(.*)  /$2.php?shop=$1&$3 [NC,L]
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php        /$2.php?shop=$1 [NC,L] 
RewriteRule ^([a-zA-Z0-9]*)/$  /index.php?shop=$1 [L,NC] 
RewriteRule ^([a-zA-Z0-9]*)$   /index.php?shop=$1 [L,NC] 

その結果 したほうがいい 以下をリダイレクトしてください。

www.site.com/Sells 
    -> /index.php?shop=Sells [works] 

www.site.com/Sells/menu.php?Cat=1 
    -> /menu.php?shop=Sells&Cat=1 [failing] 
    -> /menu.php?shop=Sells [which is 'wrong'] 

最後の例 したほうがいい 書き換え[1]に一致する...

Regexテスターが類人猿に出荷されたルールをテストし、逃げることを発見しました ?. うまくいかないようです。私は少しゆるんでいて、この逃亡が機能していない理由に光を当てることができる人なら誰でも感謝します。

事前に感謝します。

役に立ちましたか?

解決 3

QSAフラグがありませんでした!それはクエリ文字列を追加し、私はそれを入れるのを忘れました!!!

プレビューとして追加したダブルスラッシュは、単一のものを示していませんでした!

他のヒント

RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php\?(.*)  /$2.php?shop=$1&$3 [NC,L]
RewriteRule ^([a-zA-Z0-9]*)/([a-zA-Z0-9]*)\\.php        /$2.php?shop=$1 [NC,L] 

逃げすぎます。変化する \\.php\.php.

あなたは逃げることを意図しているを逃れるようです。 (あなたはを持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top