我想在。htaccess中重定向URL,但希望在URL的末尾保持查询字符串的(动态)参数(例如?id=1660
,?id=1661
等)
。https://mywebsite.example/service/viewinvoice.php?id=1660
我想把它重定向到:
https://mywebsite.example/whmcs-bridge/?ccce=viewinvoice.php?id=1660
https://mywebsite.example/service/viewinvoice.php?id=...
需要重定向到https://mywebsite.example/whmcs-bridge/?ccce=viewinvoice.php?id=...
我试了一下,没有成功
RewriteEngine Onrewritecsecond %{QUERY_STRING} (^|&)/service/viewinvoice.php?id =(数控)RewriteRule ^/?$/whmcs-bridge/?ccce=viewinvoice.php [L,R=301]
我认为这不是正确的解决方案。有人有什么建议吗?
您需要在重写规则上使用QSA(查询字符串追加)标志。来自文档:
当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有的查询字符串,并用新生成的查询字符串替换它。使用[QSA]标志会导致查询字符串被组合。
从示例url中,您不需要在重写条件中匹配查询字符串。您正在匹配URL路径,这是作为重写规则本身的第一部分完成的。
你的规则应该是:
RewriteEngine On
RewriteRule ^/?service/viewinvoice.php$ /whmcs-bridge/?ccce=viewinvoice.php [L,R=301,QSA]