レンタルサーバー リダイレクト設定|htaccessの書き方

\u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc \u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u8a2d\u5b9a\uff5chtaccess\u306e\u66f8\u304d\u65b9 運用・トラブル

本記事にはプロモーション(PR)が含まれます。

独自ドメインを常時SSL化(サイト全体をhttpsで表示すること)した直後に、古いhttpのURLがそのまま開けてしまう。あるいはドメインを変えたら、以前の記事URLがすべて404(ページが見つからないエラー)になった。サイト移転やSSL化の後始末では、この「リダイレクト」(あるURLへのアクセスを別のURLへ自動転送すること)でつまずく人が多くいます。

判断の順番はひとつです。まず契約中のサーバーの管理画面に、リダイレクト用のGUI(画面上のボタンやフォームで設定できる仕組み)があるかを確認し、あればそこで済ませて手で.htaccessを書かない。GUIでは対応できない設定(ページ単位の転送など)だけを、下記のコピペで.htaccss(サーバーの動作を制御する設定ファイル、正しくは.htaccess)に書き足す。この順で進めれば、書き間違いによる表示崩れやリダイレクトループ(転送が無限に繰り返される状態)をほぼ避けられます。

リダイレクト設定が必要になる3つの場面

データセンターでパッチパネルに集約されるLANケーブル
デジタルな経路を統一する光景(イメージ)

個人サイトでリダイレクトが要る場面は、ほぼ次の3つに集約されます。逆に言えば、この3つに当てはまらないなら設定は不要です。

  • SSL化(http→https): 無料SSLを有効にした後、httpのアドレスも生きているので、httpsへ寄せて統一する。
  • wwwの有無の統一: 「example.com」と「www.example.com」の両方でアクセスできてしまう状態を、どちらか一方へ寄せる。
  • URL・ドメインの変更(サイト移転): 記事のパスを変えた、独自ドメインを取り替えた、といった移転で、旧URLを新URLへ引き継ぐ。

どの場面でも使うのは301リダイレクト(恒久的な転送。検索エンジンの評価を新URLへ引き継ぐ)です。一時的な変更のときだけ302(一時転送)を使いますが、移転・SSL化はいずれも恒久的な変更なので、原則は301と覚えておけば足ります。

手で書く前に管理画面を確認する(GUIの有無で判断)

多くの共用サーバーは、SSLの自動転送や.htaccessの編集を管理画面から行えます。GUIがあるのに手書きすると、書式ミスの分だけ事故が増えるだけです。下表は主要な共用サーバーで、リダイレクト系の設定を画面上で扱えるかの目安です(2026年9月時点・公式サイトで機能ページを確認。メニュー名は変わることがあるため、実際の操作前に各社の管理画面でご確認ください)。

サーバー 無料SSL 管理画面でのリダイレクト/.htaccess操作
エックスサーバー 無料・無制限 サーバーパネルに「.htaccess編集」あり。SSL設定と合わせて画面上で対応
シン・レンタルサーバー 無料・無制限 エックスサーバー系のサーバーパネルで.htaccess編集可
ConoHa WING 無料 コントロールパネルの応用設定で.htaccessを編集可
ロリポップ 無料SSL証明書あり ユーザー専用ページに「.htaccess設定」あり
さくらのレンタルサーバ 無料(Let’s Encrypt) コントロールパネルのファイルマネージャーで.htaccess編集可
mixhost / カラフルボックス 無料 cPanel(共用サーバーの標準管理画面)の「リダイレクト」機能で画面設定可

ここで扱う各社の詳しい料金や容量は、個人向け3社の3年総額を明細で比べた比較記事にまとめています。サーバー自体をこれから選ぶ段階なら、そちらを先に見てから設定に進むと無駄がありません。

コピペで使える.htaccessの書き方3パターン

マウスを操作する手元
設定を調整する手元(イメージ)

GUIで対応できない場合や、ページ単位で細かく転送したい場合に使う書き方です。いずれもサイトのルート(一番上の階層)にある.htaccessファイルへ書き足します。example.com は自分のドメインに置き換えてください。ApacheやLiteSpeed(.htaccessを読むサーバー)で動作し、主要な共用サーバーはこれに含まれます。

1. http→https(常時SSL化)

SSLを有効にした後、httpでのアクセスをすべてhttpsへ転送します。

  • RewriteEngine On
  • RewriteCond %{HTTPS} off
  • RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

上の3行は3つで1組です。%{HTTP_HOST} を使っているのでドメイン名を書き換える必要はなく、そのまま貼れます。

2. wwwの統一

「wwwなし」に寄せるか「wwwあり」に寄せるかのどちらか一方だけを設定します。両方向を同時に書くとループの原因になります。以下は「wwwなし」に寄せ、ついでにhttps化も兼ねる例です。

  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
  • RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

逆に「wwwあり」へ寄せたいときは、2行目を ^example\.com$、3行目の転送先を https://www.example.com/$1 に変えます。

3. ページ単位(URL変更・記事移動)

特定のページだけを新しいURLへ移すときは、mod_rewriteを使わずに1行で書けます。旧URLの数だけ行を並べます。

  • Redirect 301 /old-page.html https://example.com/new-page/

フォルダごと移した場合は RedirectMatch 301 ^/old-dir/(.*)$ https://example.com/new-dir/$1 のようにまとめられます。旧URLと新URLの対応表を作ってから書き出すと、貼り漏れを防げます。

WordPressのドメイン変更で失敗しやすい注意点

WordPressのドメイン変更やURL変更は、.htaccessだけで完結しません。サーバー側の転送と、WordPress側の設定・データベースの両方をそろえる必要があります。順番を間違えると管理画面に入れなくなるため、次の点を押さえてください。

  • 先に正規化の方針を決める: httpsに寄せるのか、wwwあり・なしのどちらかを、作業前に確定させる。後から変えると二度手間になります。
  • 設定>一般の2つのアドレス: 「WordPressアドレス」と「サイトアドレス」を新URLに変更します。ここを空欄や誤りで保存するとログイン不能になるので、変更前に控えを取ります。
  • データベース内の旧URLを置換: 本文や画像パスに残る旧URLを一括置換します。プラグインや置換ツールを使う前に、必ずデータベースのバックアップを取ってください。手作業のSQL直打ちはシリアライズ済みデータを壊すことがあります。
  • 301はドメイン単位で1回だけ: 旧ドメイン→新ドメインの転送は、旧ドメインの.htaccessに設定します。パスを変えていないなら個別ページの転送は不要です。
  • Search Consoleのアドレス変更: ドメインを変えたら、Google Search Console(検索表示を管理する無料ツール)で新旧を登録し、アドレス変更ツールを使うと反映が早まります。

ロリポップでURLを変更するときの手順

ラップトップを操作する手元
落ち着いた環境での設定作業(イメージ)

ロリポップ(低価格帯の共用サーバー)でよく検索される「URLの変更方法」も、考え方は同じです。独自ドメインを差し替える場合は、ユーザー専用ページで新しい独自ドメインを設定し、WordPressの「設定>一般」で2つのアドレスを新URLに直し、旧URLからの転送を「.htaccess設定」から行います。無料SSLを使ったhttps化だけなら、独自SSLを有効化したうえで前述のhttp→httpsパターンを書き足せば足ります。GUIの「.htaccess設定」がそのまま編集画面になっているので、ファイルをダウンロードして戻す手間はありません。

よくある質問

設定はどのくらいで反映されますか

.htaccessの書き換え自体はほぼ即時に反映されます。ただしブラウザが古い転送先を記憶していると、しばらく前の表示が残ることがあります。確認するときはキャッシュを消すか、シークレットウィンドウで開いてください。

301と302はどちらを使えばよいですか

SSL化・ドメイン変更・記事の恒久的な移動はすべて301です。302は一時的な工事ページなど、あとで元に戻す前提のときだけ使います。移転で302を使うと検索評価が新URLへ引き継がれにくくなります。

.htaccessファイルが見当たりません

.htaccessは先頭がドットの隠しファイルなので、ファイル一覧で隠しファイルを表示する設定にすると出てきます。存在しなければ、文字コードをUTF-8、改行を含めた新規ファイルとしてサイトのルートに作成します。

リダイレクトが無限ループになりました

多くはwwwの統一を両方向で書いてしまったか、条件(RewriteCond)の指定が重複しているケースです。https化とwww統一は別々のRewriteRuleに分け、寄せる方向を一方向に統一してください。

管理画面のGUIと.htaccessの両方で設定してよいですか

同じ内容を二重に設定すると、転送が競合して事故のもとになります。GUIで済むならGUIだけ、GUIで足りないページ単位だけを.htaccessに書く、というように役割を分けてください。

参考・出典

  • エックスサーバー 機能一覧: https://www.xserver.ne.jp/functions/
  • ロリポップ 機能一覧: https://lolipop.jp/service/function/
  • ConoHa WING 機能: https://www.conoha.jp/wing/function/
  • さくらのレンタルサーバ プラン・仕様: https://rs.sakura.ad.jp/plan/
タイトルとURLをコピーしました