Apache サーバーでホストされているブログを新しいドメインに移行しています。
ブログ投稿のパーマリンクはそのままですが、新しいドメインでは URL スラッグが変更されるページがいくつかあります。
私の質問は、次のことが可能かどうか、またそれを書き換えルールでどのように行うかということです。
ブログ投稿のURLスラッグ/パーマリンクと古いドメインのほとんどのページは、新しいドメインでも同じままです。したがって、新しいドメインで同じ/スラッグを見つけるので、https://huiskopenomteverhuren.nl/
からにリダイレクトするリダイレクトルールを追加できると思います。https://vastgoedmentor.com
古い Web サイトの一部のページは新しいパーマリンクに移動しました。そのため、たとえばリダイレクトするための追加ルールが必要になりhttps://huiskopenomteverhuren.nl/kennisbank/
、https://vastgoedmentor.com/resources
他のいくつかのページでも同様に行う必要があります。
答え1
サーバー設定内で正規表現を使用して複数のディレクティブを作成できますRewriteRule
。パーマリンクを変更した特定のリダイレクトから始める必要があります。他のすべてのページの一般的なリダイレクトは最後に追加できます。
RewriteEngine On
RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$ https://vastgoedmentor.com/new2$1 [END,R=301]
RewriteRule ^/old3(/.*)?$ https://vastgoedmentor.com/new3$1 [END,R=301]
RewriteRule ^/(.*)$ https://vastgoedmentor.com/$1 [END,R=301]
の表記は、(/.*)?
末尾のスラッシュの有無にかかわらずリダイレクトを実行し、新しい URL に追加のパスの詳細を追加します。したがって、huiskopenomteverhuren.nl/kennisbank/something-or-nothing
になりますvastgoedmentor.com/resources/something-or-nothing
。
詳細についてはRewriteRule
、
https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
すべてのルールが異なるドメインを指しているため、ループに陥るリスクはありません。ただし、END
残りのルールが評価されないように、すべてのルールにフラグを追加することをお勧めします。フラグ以外にもL
、END
フラグは .htaccess ファイル内の追加ルールの評価も回避します。
旗の詳細については、 フラグは、http://httpd.apache.org/docs/current/rewrite/flags.html で参照できます。