.htaccess 301重定向子域查询

时间:2015-11-19 12:08:31

标签: apache .htaccess mod-rewrite url-redirection

我需要301重定向这个:

/blog/?=31

/blog/

/blog/?page_id=2

/blog/

我尝试了很明显的东西:

Redirect 301 /blog/?p=31 /blog/
Redirect 301 /blog/?page_id=2 /blog/

显然它没有用,否则我不会在这里问这个问题,所以不要说明显的!

2 个答案:

答案 0 :(得分:1)

为了处理涉及查询字符串的重定向,您需要在mod_rewrite文件中使用RewriteCond %{QUERY_STRING} .htaccess

RewriteEngine on

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^blog http://example.com/blog? [NC,L,R=301]

答案 1 :(得分:1)

提供了{p> Redirect指令by mod_alias。我不确定,但我认为它没有收到查询字符串参数。但是,使用mod_rewrite,规则将是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=31|page_id=2$
RewriteRule ^/?blog/?$ /blog/? [R=301,L]