Mod_rewriteを使用してサイト全体をリダイレクトする

Htaccess、mod_rewrite、およびApache

Webページが移動します。 それはWeb開発の事実です。 また、スマートな場合は、 301のリダイレクトを使用してリンクの腐敗を防ぎます。 しかし、ウェブサイト全体を移動するとどうなりますか? サイト内のすべてのファイルをリダイレクトすることができます。 しかし、それは長い時間がかかることがあります。 幸いにも、 htaccessとmod_rewriteを使用して、ほんの数行のコードでウェブサイト全体をリダイレクトすることができます。

mod_rewriteを使用してサイトをリダイレクトする方法

  1. 古いWebサーバーのルートで、テキストエディタを使用して新しい.htaccessファイルを編集または作成します。
  2. 次の行を追加してください:RewriteEngine ON
  3. add:RewriteRule ^(。*)$ http://newdomain.com/$1 [R = 301、L]

この行は、古いドメインで要求されたすべてのファイルを取得し、新しいドメインのURLに同じファイル名で追加します。 たとえば、http://www.olddomain.com/filenameはhttp://www.newdomain.com/filenameにリダイレクトされます。 R = 301は、リダイレクトが永続的であることをサーバーに通知します。

このソリューションは、サイト全体を撮影して新しいドメインに移行した場合には完璧です。 しかし、それは非常に頻繁に起こることはありません。 より一般的なシナリオは、新しいドメインに新しいファイルとディレクトリがあることです。 しかし、あなたは古いドメインとファイルを覚えている顧客を失いたくはありません。 したがって、すべての古いファイルを新しいドメインにリダイレクトするようにmod_rewriteを設定する必要があります:

RewriteRule ^。* $ http://newdomain.com/ [R = 301、L]

前のルールと同様に、R = 301はこれを301リダイレクトにします。 そして、Lはこれが最後のルールであることをサーバーに伝えます。

htaccessファイルに書き換えルールを設定すると、新しいウェブサイトは古いURLからすべてのページビューを取得します。