-1

この ' http://mysite.pl/public?products,BEER/7,shop_shelf ' のような URL を取得し、それをhttp://mysite.pl/index.php?product=BEER/7に書き換えたいと考えています。 htaccess.

何か案は ?

4

2 に答える 2

1

疑問符の後のすべてがクエリ文字列であり、RewriteRuleディレクティブは置換文字列でのみ機能します。RewriteCond代わりに使用する必要があります。

RewriteEngine On
RewriteCond %{QUERY_STRING} ^products,([-/_\.a-z0-9]*?),[-/_\.a-z0-9]+$ [NC] 
RewriteRule ^public$ index.php?product=%1 [NC,L]
于 2013-08-14T13:24:41.163 に答える
0
'RewriteRule ^products,([a-zA-Z\.\+a-z0-9-_/]*),([a-zA-Z\.\+a-z0-9-]+))$ index.php?product=$1 [L,B,NC]

そこに見られる問題はほとんどありません。「公開」をチェックしていませんか?最初は、アルファベットも混同していると思います。

RewriteRule ^public\?products,([a-zA-Z\.\+-_]+)\/([0-9]+),([a-zA-Z-_]+)$

そのようなことを試してみてください。ただし、テストせずにすばやく記述しました。で始まる文字列のpublic?products,後に、1 つ以上の文字[a-zA-Z\.\+-_](これは$1ターゲットに含まれます) で構成されるサブパターンが続き、その後/に 1 つ以上の文字[0-9]( $2) で構成される別のサブパターンが,続き、最後に文字を含む別のサブパターン[a-zA-Z-_]($3必要な場合)

私が言ったように、私はそれをテストしていないので、それから始めて、それで遊んでください

于 2013-08-14T13:13:47.180 に答える