mod_rewriteが使えなくても全ページを特定のURLへ転送する方法

mod_rewriteが使えなくても全ページを特定のURLへ転送する方法

mod_rewriteが使えなくても全ページを特定のURLへ転送する方法

サイトのお引越しやメンテナンスなどで、サイト全体を特定のURLへとリダイレクトしたい時は、mod_rewriteモジュールを使うのが楽です。

例えば、以下のように記述すれば、old-domain.comへのアクセスはすべてnew-domain.comへと転送されます。


RewriteEngine on
RewriteCond %{HTTP_HOST} ^(old-domain.com)(:80)? [NC]
RewriteRule ^(.*) http://new-domain.com/$1 [R=301,L]

しかし、必ずしも利用しているサーバーでmod_rewriteモジュールが使えるとも限りません。

つい最近、クライアントのサイトで、メンテナンスのために別サイトのURLへ一時的にリダイレクトしたかったのですが、利用しているサーバーでmod_rewriteモジュールが使えませんでした。その時に有効だった記述方法を紹介したいと思います。

.htaccessで全ページを特定のURLへ転送する

mod_rewriteモジュールが使えない環境で全ページを特定のURLへ転送するには、.htaccessで以下のように記述します。

RedirectMatch 301 .* http://new-domain.com/

この.htaccessを設置したサイトは、すべてのページがnew-domain.comへリダイレクトされるようになります。「http://new-domain.com/」の部分は転送先のURLに変更してください。「http://new-domain.com/subdir/」のように、トップページじゃなくても大丈夫です。

上記は301リダイレクト(恒久的な転送)ですが、301を302に変更することで、一時的な転送も可能です。

RedirectMatch 302 .* http://new-domain.com/

このように記述することで、無事全ページを別サイトのURLへ転送することができました。

あとがき

上記の方法でもダメな場合は、meta refreshを使いましょう。

<meta http-equiv="refresh" content="0;URL=http://new-domain.com">

HTMLの<head>~</head>内に上記を記述することで、アクセスするとnew-domain.comに転送されます。0の部分は秒数で、例えば3を指定すると3秒後にページが切り替わります。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です