3

我想将 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

我在这里做错了什么?什么可能是解决方法?

4

3 回答 3

2

您可以尝试在要重定向的页面上添加它

<meta HTTP-EQUIV="REFRESH" content="0; url=index?action=this&id=2">
于 2012-04-19T16:21:04.693 回答
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(正如您在问题中所问的那样)。

于 2012-04-22T23:58:26.713 回答
1

只需在第一个网址之前添加正斜杠,例如

Redirect 301 /index.php?action=this&id=1 http://mysite.com/index.php?action=this&id=2
于 2012-04-19T16:14:07.840 回答