0

外部应用程序使用以下 URL 调用我的网站: http ://www.mydomain.com/index.php?route=checkout/success?ref=56

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

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

我已经尝试过了,但它不起作用。

RewriteEngine on
RewriteRule \? \& [L]
4

2 回答 2

1

经过一番研究,我想出了这个

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

我不知道它是否是最好的,但它肯定有效

于 2012-10-25T22:29:02.987 回答
0
RewriteEngine on
RewriteRule /(.*)?(.*)?ref=(.*)$ /$1?$2&ref=$3  [R]
  RewriteLogLevel 9
RewriteLog "/var/log/rewrite.log"

必须承认我没有看到它在我的最终工作,但它应该几乎在那里 - 启用重写日志,因此可以更容易地调试它

于 2012-10-25T13:38:22.227 回答