apache - 重定向 URL(使用特定的 GET 参数)

标签 apache http redirect

我有这个旧的调查链接已被另一个链接取代,所以基本上我希望任何人尝试访问该 URL:

http://mywebsite.com/survey/view_survey.php?surveyID=1

重定向到:

http://mywebsite.com/survey/view_survey.php?surveyID=2

我可以在 Apache 配置或 htaccess 文件中执行此操作吗?

我在 httpd.conf 文件的重定向部分尝试了以下规则:

Redirect 301 /survey/view_survey.php?surveyID=1 http://mywebsite.com/survey/view_survey.php?surveyID=2

但它不起作用。我怀疑在处理规则时没有使用 GET 参数。

我唯一的选择是破解我的代码以重定向到特定的 surveyID 吗?


按照使用重写规则的建议,我在 .htaccess 文件中尝试了以下内容:

RewriteRule ^survey/view_survey\.php\?surveyID=1525$ /survey/view_survey.php?sur
veyID=1607

但这行不通。我确实启动并运行了重写引擎,因为我当前正在运行另一个重写规则。

最佳答案

在 .htaccess 文件中试试这个:

RewriteEngine on
RewriteCond %{QUERY_STRING} (^|.*&)surveyID=1525(&.*|$)
RewriteRule ^survey/view_survey\.php$ /survey/view_survey.php?%1surveyID=1607%2 [L,R=301]

关于apache - 重定向 URL(使用特定的 GET 参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583705/

相关文章:

apache - 将 HTTPS 443 端口重定向到其他服务器上的多个站点

php - 谁添加 "_"单下划线查询参数?

apache - Grails urlmappings : Different responses for subdomain and domain root "/" possible?

git - 通过 HTTP 和 SSL 验证的 Git 克隆问题

php - Joomla 管理员重定向到安装

regex - htaccess 将带或不带尾部斜杠的 url 重定向到新 url

c# - 在 HttpWebRequest 中关闭自动重定向

java - Rest API 调用拒绝 Cookie

http - 是否有使用静态 IP 进行 HTTP 重定向的服务?

Java url-pattern 所有子域重定向