我想将 index.php?action=this&id=1 重定向到 index.php?action=this&id=2
我在 .htaccess 中尝试了下面的代码,但没有帮助
redirect 301 index.php?action=this&id=1 http://mysite.com/index.php?action=this&id=2
我在这里做错了什么?什么可能是解决方法?
您可以尝试在要重定向的页面上添加它
<meta HTTP-EQUIV="REFRESH" content="0; url=index?action=this&id=2">
为了匹配特定的查询字符串,您必须使用mod_rewrite。请检查它是否在您的主机上安装/允许。这种情况下的规则是这样的:
# most likely be required for rewrite rules to function properly
Options +FollowSymLinks +SymLinksIfOwnerMatch
# Activate Rewrite Engine
RewriteEngine On
RewriteBase /
# actual rule
RewriteCond %{QUERY_STRING} ^action=this&id=1 [NC]
RewriteRule ^index\.php$ /index.php?action=this&id=2 [R=301,L]
这需要放在网站根文件夹中的 .htaccess 中。如果放置在其他任何地方,可能需要进行一些小的更改。
此规则只会重定向/index.php?action=this&id=1
到/index.php?action=this&id=2
其他 URL(正如您在问题中所问的那样)。
只需在第一个网址之前添加正斜杠,例如
Redirect 301 /index.php?action=this&id=1 http://mysite.com/index.php?action=this&id=2