2014-10-20 52 views
1

我需要重写一个网址,具有&符号查询字符串中的第一个字符。我需要能够将其删除。RewriteRule网址到字符串替换&

所以起始网址是:

/shop/partner;jsessionid=7giu21yo7tKsqXAL5Wv8.dwapp01? &码= PARTNERDHTE & partnerBackToUrl = partnersiteurl

的&代码是我的问题

我的规则至今都

RewriteCond %{QUERY_STRING} ^code=(.*)$ [NC] 
RewriteRule ^/shop/partner(.*)$ /store/partner/redirect/code/%1? [R=301,L] 

这个作品,如果我在的&代码前面取下&。 我需要的东西可以简单地从代码前面剥去&,然后让我的规则运行。

回答

1

你可以调整你的网址,让&code

RewriteCond %{QUERY_STRING} (?:^|&)code=([^&]+) [NC] 
RewriteRule ^/?shop/partner(.*)$ /store/partner/redirect/code/%1? [R=301,L] 
+0

非常感谢!这有助于我的原始问题,所以将它标记为已解决,但我将如何停止任何额外的参数设置为代码参数。想要抛出查询字符串上的任何其他参数 – BobB 2014-10-20 19:25:23

+0

如何设置额外参数我无法理解 – anubhava 2014-10-20 19:29:15

+0

代码参数正在获取以代码值开始的查询字符串的其余部分。所以它最终成为PARTNERDHTE&partnerBackToUrl = partnersiteurl – BobB 2014-10-20 19:35:30