Apache 从URL中删除第二个问号

Apache 从URL中删除第二个问号,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,外部应用程序使用以下URL调用我的网站: 这显然是错误的(因为它有两个问号) 如何编写.htaccess重写规则将第二个问号转换为ambersand(&)?(http://www.mydomain.com/index.php?route=checkout/success&ref=56) 我试过这个,但不起作用 RewriteEngine on RewriteRule \? \& [L] 我必须承认,我还没有看到它在我这方面起作用,但它应该几乎在那里启用了重写日志,这样它就可以更容易地

外部应用程序使用以下URL调用我的网站:

这显然是错误的(因为它有两个问号)

如何编写.htaccess重写规则将第二个问号转换为ambersand(&)?(http://www.mydomain.com/index.php?route=checkout/success&ref=56)

我试过这个,但不起作用

RewriteEngine on
RewriteRule \? \& [L]

我必须承认,我还没有看到它在我这方面起作用,但它应该几乎在那里启用了重写日志,这样它就可以更容易地调试了

RewriteCond %{QUERY_STRING} ^(.*)?\?ref=(.*)&?(.*)$
RewriteRule (.*) /$1?%1&ref=%2%3 [L]

我不知道这是否是最好的,但它确实有效

谢谢,但是由于某种原因,
重写规则
无法捕获查询字符串。。。
RewriteCond %{QUERY_STRING} ^(.*)?\?ref=(.*)&?(.*)$
RewriteRule (.*) /$1?%1&ref=%2%3 [L]