オウンドメディアAXの進め方を解説
AIと人間が協働するオウンドメディア運営の実践ガイド Owned Media AX Guide
資料を無料ダウンロード
【ケース別】.htaccessのリダイレクト設定方法とよくあるトラブル対処法
制作/開発 2026.06.03

サイトのお引越しや、ドメインの載せ替え、404エラーページの設定など、Webサイトを運用していく上で、リダイレクト(転送)が必要になるフェーズは多いと思います。
リダイレクトをする方法はいくつかありますが、リダイレクト前のページの検索評価を受け継ぐことができるという点で「SEOの評価をリダイレクトによって落としたく無い」と考えている方におすすめなのが、「.htaccess」を使ったリダイレクト設定です。
この記事では、「.htaccess」を使ったリダイレクト設定の具体的な方法について、ケース別に詳しく解説していきます。各ケース別に「.htaccess」ファイルの作成方法や記述内容、どこにアップロードをすればいいかも紹介しますので、ご自身のサイト運用にお役立てください。
目次
「.htaccess」とは?何ができる?
「.htaccess」(ドット・エイチ・ティ・アクセス)は、Webサーバーの設定を簡易的に行うことができるファイルです。Apache系サーバーで利用できる設定ファイルで、URLのリダイレクト設定やアクセス制御、エラーページ設定などを行えます。
特にサイト移転やURL変更時に利用する301リダイレクトは、検索エンジンの評価を引き継ぎながら新しいURLへユーザーを誘導できるため、SEO対策において重要な役割を担います。
Webサイトの運用では、URLの変更やページ統合、SSL化などによってアクセス先が変わることがあります。そのような場合でも、適切なリダイレクト設定を行うことで、ユーザーの利便性を損なわずにサイトを運営できます。
このファイルによって、Webサイトにおける次のような制御が簡単にできるようになります。
- リダイレクト
- URLの正規化
- エラーページの設定
- BASIC認証
- IPアドレス制限
- ファイル一覧表示の禁止
- キャッシュの設定
- ディレクトリリスティングのオン・オフ
これらの制御は、Webサイトを構成するHTMLやCSS側では設定できないので、通常はWebサーバー側で設定する必要があります。
しかし、FTPなどで外部からでも簡単に設定ができるHTMLやCSSと違い、Webサーバーの設定は管理者以外には難易度の高い作業です。
そんなWebサーバー側の設定を、FTPなどで外部からでも簡単に制御できる便利なファイルが「.htaccess」です。
Webサイトの制作・運用、SEO対策、UX(ユーザーエクスペリエンス)向上などには必要不可欠なファイルと言えます。
「.htaccess」の作り方と基本ルール
「.htaccess」の作り方は簡単です。
Windowsであれば『メモ帳』、Macであれば『テキストエディット』など、テキストエディタを使って次の作成します。
- テキストエディタに内容を記述し保存。ファイル名は「htaccess.txt」とする
- サーバー上の制御したいページやディレクトリと同じ階層に「htaccess.txt」をアップロード
- ファイル名を「htaccess.txt」から「.htaccess」に変更(先頭が「.」で始まるファイルが作成できないため)
「htaccess.txt」の記述、作成を行う際には、以下の基本ルールを守りましょう。
- テキストエディタで作る(メモ帳やテキストエディット以外のテキストエディタを使用してもOK)
- 文字コードはUTF-8(BOM無し)に設定する
- 日本語は文字化けする可能性があるので、使わないよう注意する
- 最後の行には空行を1行以上入れる
- #から始まる行はコメントアウト(無効化)される
- 上に記述したものから優先に処理を実行していく
「.htaccess」の詳しい記述内容は、ケース別に後述するので、そちらをご覧ください。
「.htaccess」の有効範囲と設置場所
「.htaccess」の有効範囲は、アップロードしたディレクトリ(階層)直下にある全ファイルです。
例えば、サイト全体をリダイレクトさせたい場合には、サイト全体のHTMLファイルである「index.html」と同じディレクトリに「.htaccess」をアップロードします。

また、特定の1ページだけを別のページにリダイレクトしたい場合には、次図のように、そのページのHTMLファイルが入っている階層に「.htaccess」をアップロードします。

このように、アップロードした場所によって、Webサイト全体なのか、特定のディレクトリ下なのか、制御できる箇所が違うので設置場所には注意しましょう。
「.htaccess」のリダイレクトとは?
.htaccessのリダイレクトとは、特定のURLへアクセスしたユーザーを別のURLへ自動的に転送する仕組みです。
Webサイトを運用していると、ページの統合やサイトリニューアル、ドメイン変更などによってURLが変更になることがあります。
その際、旧URLへアクセスしたユーザーを新URLへ案内するために利用されるのがリダイレクトです。リダイレクトを設定せずにURLを変更すると、ユーザーが404エラーに遭遇するだけでなく、検索エンジンから評価されていたページのSEO評価を失う可能性があります。
特にサイト移転やURL変更では、301リダイレクトを利用することで検索エンジンに恒久的なURL変更を伝えられるため、SEO評価を引き継ぎやすくなります。
301リダイレクトと302リダイレクトの違い
リダイレクトには主に「301リダイレクト」と「302リダイレクト」の2種類があります。
|
種類 |
用途 |
SEO評価 |
|
301リダイレクト |
恒久的なURL変更 |
引き継がれやすい |
|
302リダイレクト |
一時的なURL変更 |
引き継がれにくい |
サイト移転やURL変更など、今後も継続して利用するURLへ転送する場合は、301リダイレクトを利用するのが一般的です。
ケース別:「.htaccess」のリダイレクト設定方法
「.htaccess」を使えばWebサイト上の様々な制御ができますが、最もよく利用される用途がリダイレクトです。
リダイレクトについては、「リダイレクトとは?意味や目的、具体的な設定方法を解説」で詳しく解説していますので、参考にしてみてください。
「.htaccess」でリダイレクト設定をする上で重要なのは、「何をどのような範囲でリダイレクトしたいのか?」です。それによってファイルの記述内容やアップロード箇所が変わってきます。
ここからは、ケース別に、実際の記述内容やアップロード箇所などを見ていきましょう。
ページ単位でリダイレクトする場合
ページ単位でのリダイレクトは、主に次のようなケースに必要となります。
- ページAとページBを統合したい
- ページファイルを「.html」から「.php」に変更したい
- 期間限定公開のページを終了させたい
- 公開しているページのスラッグを変更したい
例えば、example.com/aaaという特定のページをexample.com/bbbにリダイレクトする場合には、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine On RewriteRule ^aaa$ https://www.example.com/bbb [R=301,L] |
アップロードする場所は、次図のようにリダイレクトしたいページと同じ階層です。

ディレクトリ単位でリダイレクトする場合
ページ単位ではなく、「カテゴリー」など、配下に複数のページを含むディレクトリ単位でリダイレクトすることも可能です。
主に次のようなケースで必要になります。
- ディレクトリをドメインに格上げしたい
- ディレクトリをさらに下のディレクトリに格下げしたい
- 公開しているカテゴリー名を変えたい
- ディレクトリ構造を変えたい
例えば、example.com/aaa/cccというページのディレクトリ「/aaa/」を「/bbb」に変更し、example.com/bbb/cccとしたい場合は、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine On RewriteRule ^aaa(.*)$ /bbb$1 [L,R=301] |
アップロードする場所は、次図のようにリダイレクトしたいディレクトリのフォルダ内です。

ディレクトリ単位でのリダイレクト設定で置き換わるのは特定のディレクトリ部分だけです。
さらに下層ページのディレクトリやスラッグも変わる場合には、別途設定が必要になるので注意しましょう。
ドメイン単位でリダイレクトする場合
主に次のようなケースには、ドメイン全体でのリダイレクトが必要になります。
- サイトのお引っ越し
- ドメインの載せ替え
- 複数サイトの統合、分割
例えば、example.comというドメインをexample2.comにリダイレクトする場合、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine On RewriteCond %{HTTP_HOST} ^example.com RewriteRule ^(.*)$ https://example2.com/$1 [R=301,L] |
アップロードする場所は、次図のようにドメイン直下(「public_html」フォルダ内)です。

ディレクトリ単位でのリダイレクト同様に、ドメイン単位のリダイレクトで置き換わるのはドメイン部分のみです。
下層のディレクトリやページのスラッグが違う場合には、別途設定が必要になるので、十分注意しましょう。
サブドメインをリダイレクトする場合
サブドメイン(⚫️⚫️.ドメイン名.com)を、ドメイン配下の特定のディレクトリに移し替える際などに使用します。
逆にドメインからサブドメインに移し替えることも可能です。
例えば、サブドメインのsub.example.comをexample.com/aaaというサブディレクトリにリダイレクトする場合には、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine On RewriteCond %{HTTP_HOST} ^sub\.example\.com$ RewriteRule (.*) https://example.com/sub/$1 [R=301,L] |
アップロードする場所は、次図のようにサブドメイン直下(「サブドメイン」のフォルダ)です。

404エラーページをリダイレクトする場合
ユーザーが存在しないURLにアクセスした際に、真っ白い画面に「Not Found」と書かれたページが表示されたり、レンタルサーバー会社の「404エラーページ」が表示されたりすることがあります。
せっかくサイトにアクセスしてくれたユーザーの離脱につながってしまうのを防ぐために、自社で用意した「404エラーページ」にリダイレクト設定をしておくのが一般的です。
その制御も「.htaccess」で可能です。
例えば、example.comというサイトの存在しないURLにアクセスしたユーザーを404エラーページ(example.com/404)にリダイレクトさせる場合には、次のような記述内容で「.htaccess」を作成しましょう。
|
ErrorDocument 404 /404 |
アップロードする場所は、次図のようにドメイン直下(「public_html」のフォルダ内)です。

URLを統一する場合(URLの正規化)
URLの正規化は、検索エンジンからの評価を1つのURLへ集約するために重要です。
例えば、以下のように同じ内容のページでも複数のURLでアクセスできるケースがあります。
この状態を放置すると、検索エンジンが別ページとして認識し、評価が分散する可能性があります。SEOの観点では、リダイレクトによって正規URLへ統一し、評価の分散を防ぐことが重要です。
例えば、https://example.comとhttps://www.example.comの両方がWeb上にあり、SEOの観点からhttps://example.comに統一したい場合には、次のような記述内容で「.htaccess」を作成します。
|
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] |
また、https://example.com/index.htmlというドメイン表示をhttps://example.comに統一する場合には、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine On RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L] |
もし、http://www.example.comをhttp://example.comに統一した上で、http://example.comをhttps://example.comに統一しSSL化し、https://example.com/index.htmlをhttps://example.comに統一したい場合には、次のような記述内容になります。
|
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L] |
アップロードする場所は次図のように、ドメイン全体の場合はドメイン直下(「public_html」のフォルダ内)、特定のディレクトリの場合はそのフォルダの中です。

特定のディレクトリをリダイレクトから除外する場合
「ドメイン全体にリダイレクト設定をしているが、特定のディレクトリだけはリダイレクトさせたくない」という少し特殊な制御を行うことも可能です。
例えば、https://example.comからhttps://example2.comにサイト全体でリダイレクト設定をかけた上で、特定の「/aaa/」というディレクトリだけはリダイレクトしたくない場合は、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^/aaa/ RewriteRule ^$ https://example2.com [R=301,L] |
アップロードする場所は、次図のようにリダイレクトから除外したいディレクトリフォルダの中です。

デバイスごとにリダイレクトさせる場合
次のように、PC用とスマホ用でURLを分けている場合、どのデバイスからアクセスしたかによってURLを振り分ける制御を行うことも可能です。
- PC用:「https://example.com/ppp/」
- スマホ用:「https://example.com/sp/ppp/」
例えば、PCからアクセスした場合はhttps://example.comに、スマホからアクセスした場合はhttps://example.com/spにアクセスさせたい場合には、次のような記述内容で「.htaccess」を作成しましょう。
|
RewriteEngine on RewriteBase /
RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|Android.*Mobile|Windows.\ Phone) RewriteRule ^(.*)$ sp/$1 [R]
RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|Android.*Mobile|Windows.\ Phone) RewriteRule ^sp/(.*)$ $1 [R] |
アップロードする場所は、次図のようにドメイン直下(「public_html」のフォルダ内)です。

現在はスマートフォンやタブレット、PCなど異なるデバイスに対しても同じURLで表示を最適化できる「レスポンシブデザイン」が主流です。そのため、新規サイトではデバイスごとにURLを分けるケースは以前より少なくなっています。
既存サイトでスマホ専用URLを運用している場合のみ、デバイス別リダイレクトを利用するケースが多いでしょう。
「.htaccess」のリダイレクトでよくあるトラブル
「.htaccess」は、簡単な記述で、簡単にリダイレクトができる便利なファイルです。
しかし、記述内容を少しでも間違えると、サイト全体が真っ白になってしまったり、エラーが出たり、Webサイト表示に大きな影響を及ぼしてしまう怖いファイルでもあります。
また、アップロードする場所によって制御できる有効範囲が変わるので、設置場所にも要注意です。
「.htaccess」でのリダイレクト設定時によくあるトラブルは次の3つです。あらかじめ、対処法をおさえておきましょう。
リダイレクトされない
リダイレクトされないのは、「.htaccess」のアップロード場所がおかしい場合によく起こります。
アップロード場所は、リダイレクトしたいファイルと同じ階層です。別の場所にアップロードされていないか、今一度チェックしてみてください。
無限ループになってしまった
「ページA→ページB→ページA→ページB」のように、複数の「.htaccess」が呼応して、ページが無限にリダイレクトされ続ける状態を「リダイレクトループ」と呼びます。
リダイレクトループかどうかは、アクセスした際に画面に「リダイレクトが多すぎます」などエラーメッセージがでるかどうかで判断が可能です。
主に記述内容のミスでリダイレクトループは発生してしまうので、今一度「.htaccess」の記述内容をチェックし、修正してみましょう。
ページが表示されなくなってしまった
「.htaccess」をアップロードしたら、画面が真っ白になって何も表示されなくなってしまった、というトラブルは、記述ミスがある場合によく起こります。
まずは、サイトにアップロードした「.htaccess」を削除して、サイト表示を復活させます。
その後、半角スペースなどが含まれていないかなど、今一度「.htaccess」の記述内容をチェックしてみてください。
サーバーが「.htaccess」に対応していない
「.htaccess」はApache系サーバーで利用できる設定ファイルです。そのため、Nginxなど別のWebサーバーを利用している場合は、.htaccessをアップロードしても設定が反映されません。
また、Apacheサーバーであっても「mod_rewrite」が無効になっているとリダイレクト設定が機能しない場合があります。設定が反映されない場合は、利用しているサーバー会社の仕様や管理画面の設定を確認してみましょう。
「.htaccess」のリダイレクトに関するよくある質問
Q. 301リダイレクトと302リダイレクトはどちらを使うべきですか?
サイト移転やURL変更など、恒久的なURL変更の場合は301リダイレクトを利用するのが一般的です。
302リダイレクトは一時的なページ移動を行う際に利用します。
Q. WordPressでも「.htaccess」のリダイレクト設定は利用できますか?
WordPressをApache環境で運用している場合は利用できます。
ただし、頻繁に設定変更を行う場合は、リダイレクト用プラグインを利用する方法もあります。
Q. リダイレクト設定はすぐ反映されますか?
通常は.htaccessをアップロードした時点で反映されます。
ただし、ブラウザキャッシュやCDNの影響で反映が遅れて見える場合があります。
Q. リダイレクトが正しく設定されているか確認する方法はありますか?
ブラウザで実際にアクセスして確認するほか、Chromeのデベロッパーツールや各種HTTPステータス確認ツールを利用する方法があります。
301ステータスが返っていることを確認すると安心です。
「.htaccess」のリダイレクト設定は慎重に!
.htaccessによるリダイレクト設定は、ユーザー体験の向上だけでなく、検索エンジンからの評価を維持するためにも重要です。
サイト移転やURL変更の際には、転送先URLを事前に整理したうえで適切な301リダイレクトを設定しましょう。
「.htaccess」は簡単な記述で様々なWebサイト制御が行える便利なファイルですが、ちょっとした記述ミスなどで、Webサイト全体に影響を及ぼす怖いファイルでもあります。
そのため、記述内容と設置場所を間違えないように、事前に設計図を可視化するなどして、記述やアップロードを慎重に行いましょう。
パンタグラフでは、Webサイトのお引越しやドメインの載せ替え、Webサイトの整理など、Webサイト運用において、SEOなどの影響を考慮したリダイレクト設計、及び適切な設定を行っております。
Webサイトのお引越しやドメインの載せ替えなどが不安、Webサイトをもっと整理したい、という方はぜひお気軽にお問い合わせください。
関連する記事
pagetop