例えば:
http://www.old-domain.com/news.php?NewsID=30888&test=3
に:
http://www.new-domain.com/?NewsID=30888&test=3
ページ「news.php」ではなく、新しいドメインのパラメーターのみを取得する必要があります
これは、リダイレクトまたは書き換えを使用するとデフォルトで発生します。たとえば、old-domain.com
ドメインのドキュメント ルートにある htaccess ファイルでは、次のようになります。
Redirect 301 /news.php http://www.new-domain.com/
に行ったクエリ文字列 (例: ?NewsID=30888&test=3
) は、/news.php
自動的に に追加されhttp://www.new-domain.com/
ます。
mod_rewrite と同じ:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain.com$ [NC]
RewriteRule ^news.php$ http://www.new-domain.com/ [L,R=301]
編集:貴重な情報:
私の場合、news.php 以外のどのページでも発生する可能性があるため、news.php に基づいていません。任意のページからの新しいドメインのパラメーターが必要なだけです。例:
old-domain.com/pagename.php?var1=data1&var2=data2
にnew-domain.com/?var1=data1&var2=data2
次に、それは次のようになります。
RedirectMatch 301 ^/(.*) http://www.new-domain.com/
また
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain.com$ [NC]
RewriteRule ^ http://www.new-domain.com/ [L,R=301]
私の答えで言ったように、実際のパスは無関係です。クエリ文字列は自動的に追加されるため、特別なことをする必要はありません。