0

私のサイトの書き換えルールが必要です。

次のタイプの URL があります。

http://bag-saver.com/store/category/yellow-bags/?brand=TedBaker

しかし、私はそれを読んでみたい:

http://bag-saver.com/store/category/yellow-bags-by-tedbaker/

これは私がうまくいくと思うものです:

RewriteRule ^-(.*) ?brand=$1

(そうではありません)

しかし、さらに、?brandパラメーターは実際には -eg として表示される可能性が&parameterあります?word=clutch&brand=TedBaker

要約すると、ブランド パラメータを静的 URL の最後の部分にし、前に「by」という単語を付けたいと思います。ブランド パラメーターが URL 文字列のどこに表示されるかに関係なく、これが機能することを望みます。

現在の .htaccess ファイルは次のとおりです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /


RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

これを適用する必要があるすべての URL は次のとおりです。

http://bag-saver.com/store/category/black-bags/?brand=Jaeger
http://bag-saver.com/store/category/black-bags/?brand=Jaeger&word=Cross%20Body
http://bag-saver.com/store/category/black-bags/?word=Cross+Body&brand=Jaeger

上記を /store/category/black-bags-by-jaeger/ または /store/category/black-bags-by-jaeger/?word=Cross%20Body に変換する必要があります (2 番目と 3 番目のオプションの場合)。

これも持っています: http://bag-saver.com/store/search/?brand=Jaegerこれは /store/search/bags-by-jaeger/ に変換する必要があります。

4

1 に答える 1

1

これを試してください:(URLのすべてのバリエーションを提供できる場合は、より良いでしょう)

RewriteRule ^(.*)-by-([^/]+)/(.*)$ /$1/$3?brand=$2 [L,QSA]
于 2012-09-07T13:23:31.587 に答える