这太基础了,您不得不问为什么实现起来如此复杂。
只需要将一个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
答案 0 :(得分:0)
您可以使用以下规则:
RewriteCond %{QUERY_STRING} ^section=exclusive [NC]
RewriteRule ^article\.php$ /articles/view/3000? [R=301,L,NC]
目标中的 ?
将剥离先前的查询字符串。