1

サイトを新しいドメインに移動します。
ページを
old-site.com/oldpage.php?id=X
から
new-site.com/newpage-Xにリダイレクトする必要があります
(X は数字です)

このルールが機能しないのはなぜですか?

RewriteEngine on
RewriteRule ^oldpage.php?id=(.*)$ http://new-site.com/newpage-$1 [R=301,L]
4

2 に答える 2

0

QUERY_STRING を使用する必要があると思われます

RewriteCond %{QUERY_STRING}  ^id=(.*)$
RewriteRule ^oldpage\.php$ http://new-site.com/newpage-%1 [R=301,L]

お役に立てれば

于 2009-10-03T08:38:06.190 に答える
0

URL パスRewriteRuleに対してのみ動作し、URL クエリに対しては動作しません。URL クエリをテストするには、ディレクティブを使用する必要があります ( )。したがって、次のルールを試してください。RewriteCond%{QUERY_STRING}

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=([^&]+)&?(.*)?$
RewriteRule ^oldpage\.php$ http://new.example.com/newpage-%3?%1%4 [L,R=301]

このルールは、クエリ内の他のパラメーターも保持します。

于 2009-10-03T08:45:32.993 に答える