Regex .htaccess URL重写规则-正则表达式

Regex .htaccess URL重写规则-正则表达式,regex,.htaccess,Regex,.htaccess,我需要一个重写规则为我的网站 我有以下类型的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参数实际上可能会显示为参数——例如?word

我需要一个重写规则为我的网站

我有以下类型的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
参数实际上可能会显示为
参数
——例如
?word=clutch&brand=TedBaker

总而言之,我希望brand参数成为静态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
以上内容需要通过jaeger转换为/store/category/black bags/或通过jaeger/word=Cross%20Body转换为/store/category/black bags(第二和第三选项)

我还有这个: jaeger需要将其转换为/store/search/bags/

试试这个:(如果你能提供url的所有变体,那就更好了)


我尝试过这个方法,但没有成功-我尝试过在重写规则^index\.php$-[L]之前和之后使用它。htacces不会将旧的正常URL转换为好的URL(您可以通过编辑文件中的链接手动执行此操作),htacces会将带有新的好URL的请求重写为旧的不好的URL(不通知用户有重定向),这就是htaccess所做的(这就是我给你写的规则,它将jaeger的
/store/category/black bags/
转换为
/store/category/black bags/?brand=jaeger
啊,这就解释了。非常感谢。
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
RewriteRule ^(.*)-by-([^/]+)/(.*)$ /$1/$3?brand=$2 [L,QSA]