1

我正在尝试做一个非常简单的重定向。我们正在从独立的 Wordpress 安装转移到多站点 Wordpress 安装,我正在尝试让重定向适用于带有查询字符串的页面。这是我到目前为止的代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^advise/index_pt(.*)$ http://domain.com/advise/pennies-to-millions/$1 [NE,L,R=301]

基本上,这就是我想要的:(有或没有 www)

*.domain.com/advise/index_pt.php?(参数) => *.domain.com/advise/pennies-to-millions/?(参数)

任何帮助表示赞赏!

4

1 回答 1

2

查询字符串不是用于在RewriteRule指令中匹配的 URI 的一部分。因此,您不能使用正则表达式在RewriteRule. 如果您需要匹配它们,您可以RewriteCond %{QUERY_STRING} <regex>在规则之前使用 a。但是,如果您不使用?创建任何新的查询字符串,无论如何都会自动附加查询字符串。在规则的目标中。您可以删除规则中的所有反向引用,并在www周围添加括号以使其可选。

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^advise/index_pt.php$ http://domain.com/advise/pennies-to-millions/ [NE,L,R=301]
于 2012-06-11T16:06:26.680 回答