htaccess 301使用查询字符串参数重定向

时间:2018-11-12 18:56:55

标签: .htaccess query-string

这太基础了,您不得不问为什么实现起来如此复杂。

只需要将一个URL重定向到同一域中的另一个URL,尽管该URL包含查询字符串aparams:

我尝试过:

RewriteRule ^article.php?section=exclusive&id=543 articles/view/4639 [R=301,L]

我找不到页面-重定向未发生。我在同一个htaccess中有其他重定向有效。查询字符串参数会引起问题,转义它们也无济于事。

请注意,两个URL的ID不相同,因此我不希望有一个巧妙的重写规则,该规则将从一个URL转换为另一个URL,并将查询字符串映射到新的参数。我只想要从A到B的快速而肮脏的映射。

更新

我尝试过此操作,它会重定向,但它会将我的旧查询字符串添加到新url的末尾。我该如何预防?

RewriteCond %{REQUEST_URI} ^/article\.php$
RewriteCond %{QUERY_STRING} ^section=exclusive
RewriteRule ^$ http://www.onlinegooner.com/articles/view/3000 [R=301,L]

输入网址是:mydomain.com/article.php?section=exclusive

1 个答案:

答案 0 :(得分:0)

您可以使用以下规则:

RewriteCond %{QUERY_STRING} ^section=exclusive [NC]
RewriteRule ^article\.php$ /articles/view/3000? [R=301,L,NC]
目标中的

?将剥离先前的查询字符串。