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 に答える