.htaccessのリダイレクト設定ミスの直し方【完全版】

.htaccessのリダイレクト設定ミスの直し方 ■ ワードプレスのトラブル解決

.htaccessのリダイレクトエラーは、設定の重複や書き方ミスが原因で発生します。
特に多い原因は以下です。

・HTTPSリダイレクトの二重設定
・wwwあり・なし統一のミス
・301/302の書き方ミス
・WordPressとの設定競合
・サイトが表示されない
・リダイレクトループになる
・ERR_TOO_MANY_REDIRECTSが出る

→ 本記事では、この順番で「確実に直る手順」を解説します。


今すぐ直したい方はこちら(3分で確認)

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

これで直るケースが非常に多い


カスタムリダイレクトは一度全削除


  • ブラウザ
  • サーバー

直らない場合は以下を確認


.htaccessリダイレクト設定ミスの主な原因

① HTTPSリダイレクトの二重設定

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

サーバー側でも設定されているとループ発生


② wwwあり・なしの競合

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

HTTPS設定と重なるとループ


③ WordPressとの競合

WordPressのURL設定と.htaccessがズレる


④ リダイレクトルールの重複

同じ処理を2回書いている


⑤ 301 / 302の誤用

意図しない転送になる


正しい.htaccessリダイレクト設定(これが正解)

HTTPS統一(推奨)

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

wwwなしに統一

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

ポイント:どちらも同時に書かない(統合する)


HTTPS + www統一(正しい書き方)

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

これが最も安全


WordPressでの注意点(重要)

① URL設定を一致させる

define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');

② プラグインとの競合

Redirectionなどと併用NG


③ サーバー設定との重複

Xserverなどは自動HTTPSあり


ERR_TOO_MANY_REDIRECTSが出る場合

.htaccessが原因の可能性が高い

対処手順

  1. .htaccess初期化
  2. プラグイン停止
  3. URL確認

順番にやれば確実に直る


.htaccessリダイレクト設定の注意点

  • ① 設定は一箇所で管理
  • ② テストしてから反映
  • ③ バックアップ必須

.htaccessリダイレクト設定がわからない場合の最終手段

WordPress復旧サポートはこちら


最後に

.htaccessのリダイレクトエラーは

  • 重複
  • 設定ミス
  • 競合

が原因です。正しい書き方にすれば必ず解決します


よくある質問(FAQ)

Q
.htaccessを消しても大丈夫?
A

WordPressは自動生成されるのでOK。ただし、自動生成された.htaccessは一度確認してバックアップを取っておきましょう。

Q
500エラーになる
A

記述ミスの可能性が高いです。WordPressで500エラーが出た時の対処法も確認してみて下さい。

Q
反映されない
A

キャッシュが原因かと思われます。削除してみてください。

Q
どこに書けばいい?
A

BEGIN WordPress の上に記述で、大丈夫です。

タイトルとURLをコピーしました