サイトを新しいドメインに移動します。
ページを
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]
サイトを新しいドメインに移動します。
ページを
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]
QUERY_STRING を使用する必要があると思われます
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^oldpage\.php$ http://new-site.com/newpage-%1 [R=301,L]
お役に立てれば
は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]
このルールは、クエリ内の他のパラメーターも保持します。