重定向URL(具有特定的GET参数)

rlo*_*nzo 4 apache redirect http

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

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

要重定向到:

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

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

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

Redirect 301 /survey/view_survey.php?surveyID=1 http://mywebsite.com/survey/view_survey.php?surveyID=2
Run Code Online (Sandbox Code Playgroud)

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

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


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

RewriteRule ^survey/view_survey\.php\?surveyID=1525$ /survey/view_survey.php?sur
veyID=1607
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我确实已经启动并运行了重写引擎,因为我当前正在运行另一个重写规则.

Gum*_*mbo 8

在.htaccess文件中尝试此操作:

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