.htaccess htaccess重定向无法使用带有参数的URL

.htaccess htaccess重定向无法使用带有参数的URL,.htaccess,redirect,.htaccess,Redirect,我想将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 我做错了什么?解决方法是什么?只需在第一个url之前添加正斜杠,如 Redirect 301 /index.php?action=this

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

我做错了什么?解决方法是什么?

只需在第一个url之前添加正斜杠,如

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">

为了匹配您拥有的要使用修改的特定查询字符串。请检查您的主机上是否已安装/允许安装。本例中的规则如下所示:

# 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(正如您在问题中所问的那样)。

不,我不想要元刷新。这在我的情况下是不可能的。根据文档URL应该以斜杠开头(正如Shaikh已经提到的)。不幸的是,
Redirect
指令不适用于查询字符串参数——只适用于路径部分(在您的情况下,它将是
index.php
)。你唯一的希望就是使用mod_重写。请检查您的服务器上是否存在/启用了它-如果是,那么我可能会在这里帮助您。请参阅我的答案-抱歉,耽搁了-我有机会时做了。