我要执行Apache .htaccess
重定向,如下所示:
https://domain1.com/app/index.php?ref=1234
到
https://domain2.com/ref/1234
如何编写此规则?看来我想放弃ref=
参数,然后动态使用该值(在本示例中为1234)。
URL数以千计,因此需要动态获取值(1234)。
我已阅读HTACCESS Redirect ID Value和https://perishablepress.com/redirect-query-string-htaccess/,但似乎无法正常工作。
我已经在.htaccess
中为domain1.com进行了尝试:
RewriteRule ^index.php?ref=/([0-9]+)/ https://domain2.com/ref/$1 [L,NC,QSA]
答案 0 :(得分:0)
RewriteRule 模式最初将与主机名和端口之后,查询字符串之前的URL部分匹配。如果要与主机名,端口或查询字符串匹配,请使用RewriteCond和%{HTTP_HOST}
,%{SERVER_PORT}
或%{QUERY_STRING}
变量。
这应该有效:
RewriteCond %{QUERY_STRING} ref=([0-9]+)
RewriteRule ^index.php https://domain2.com/ref/%1 [R,L,NC,QSD]