我需要为我的网站重写规则。
我有以下类型的网址:
http://bag-saver.com/store/category/yellow-bags/?brand=TedBaker
但我希望如下:
http://bag-saver.com/store/category/yellow-bags-by-tedbaker/
我认为应该这样做:
RewriteRule ^-(.*) ?brand=$1
(它没有)
但是此外,?brand
参数实际上可能显示为¶meter
- 例如?word=clutch&brand=TedBaker
。
总结一下 - 我希望将品牌参数放入静态URL的最后部分,前面加上“by”。无论品牌参数在网址字符串中的哪个位置,我都希望这样做。
这是当前的.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
以下是需要应用的所有网址:
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 /.
答案 0 :(得分:1)
试试这个:(如果你能给我们所有的url变种,那就更好了)
RewriteRule ^(.*)-by-([^/]+)/(.*)$ /$1/$3?brand=$2 [L,QSA]