使用RewriteRule重定向,保持密钥重定向到新URL

时间:2014-02-25 16:42:21

标签: php .htaccess mod-rewrite redirect rewrite

我有这个网址:

somesite.org/news.php?a=0&b=20

我想要什么 - 将其重定向到

somesite.org/specialnews/20

如果你看到 - 键 a 表示类型。所以a = 0意味着特殊新闻。因此,我只需要将那些具有= 0和基本网址(news.php)的网址重定向到/specialnews/

我尝试的是:

RewriteCond %{QUERY_STRING} ^a=0&b=(.*)$ 
RewriteRule ^news\.php\?a\=0&b\=(.*)$ specialnews/$2 [R=301]

没有帮助;) 需要指示。

1 个答案:

答案 0 :(得分:0)

你不能在RewriteRule中匹配查询字符串参数,但你可以通过RewriteCond捕获参数并在RewriteRule中使用它(带%):

RewriteCond %{QUERY_STRING} a=0&b=(.*)
RewriteRule ^news.php /specialnews/%1? [R=301]