0

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

示例 1 示例 2

我需要从重定向中删除查询字符串。旧 WordPress ?p=### 到新域/url。

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 级别重定向。

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

4

1 回答 1

1

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

RewriteCond %{QUERY_STRING} ^p=123$
RewriteRule ^blog/$ http://www.domain.com/yada/woohoo/?  [L,R=301]
于 2012-10-10T00:46:55.970 回答