htaccess删除重定向上的查询字符串

时间:2012-10-10 00:29:10

标签: wordpress .htaccess mod-rewrite redirect

我已经研究了一段时间了,并且发誓我的解决方案应该按照以下方式工作(这里有数百个其他人,所以原谅我的重复):

Example 1 Example 2

我需要从重定向中删除查询字符串。旧的WordPress?p = ###到一个新的域名/网址。

Old Url: blog.domain.com/blog/?p=123
New Url: www.domain.com/yada/woohoo/

有了这个:

RewriteCond %{QUERY_STRING} ^p=123$
RewriteRule ^/blog/$ http://www.domain.com/yada/woohoo/?  [L,R=301]

我得到:http://www.domain.com/yada/woohoo/?p=123

我想:http://www.domain.com/yada/woohoo/

blog.domain.com将在DNS级别重定向。

我错过了什么? “?”在重写行的末尾应删除查询字符串?

1 个答案:

答案 0 :(得分:1)

我刚试过你的代码,我唯一改变的就是第一个/在博客中,我让它完美运行,没有查询字符串
如果您正在运行Apache> 2.4然后你可以使用标志QSD,但否则,用?最后它的工作原理。那里还有其他规则吗?

RewriteCond %{QUERY_STRING} ^p=123$
RewriteRule ^blog/$ http://www.domain.com/yada/woohoo/?  [L,R=301]