ロリポップで.htaccess編集後に500エラーになった時の確認順番
.htaccess をアップロードした直後に 500 Internal Server Error になったら、まずPHPやCSSを疑うより、直前の .htaccess を戻します。サイト全体が見えなくなるので焦りますが、原因が.htaccessなら復旧はかなり単純です。
確認日と対象
確認日: 2026年5月16日。ロリポップで自作HTML/PHPサイトの .htaccess をFTPまたはSFTPで編集した直後に、500 Internal Server Error が出た人向けです。
WordPressプラグイン固有の設定、大規模なApache設定、サーバー障害そのものは対象外です。まず直前に触った .htaccess を退避して、表示が戻るかを見ます。
このページで整理できること
.htaccessが原因の500か、PHP側の500かを最初に分ける- 削除ではなく別名退避で、元に戻せる形を残す
- バックアップとの差分、追加した行、全角スペース、不可視文字を確認する
- リダイレクト、SSL化、www統一、Basic認証、エラーページ設定を一度に直さない
- Search Consoleの5xxとして見えている時に、先に公開URLを確認する
- AIやサーバー会社へ相談する時に、伏せる情報と伝える情報を分ける
復旧順の全体像
最初に削除せず、別名にして退避します。表示が戻るか確認してから、バックアップや最小構成へ戻します。
最初にやることは別名にすること
FTPソフトでサーバー上の .htaccess を別名に変更します。削除する前に名前を変えるだけなら、後で中身を確認できます。
.htaccess
.htaccess.error-backup
これでトップページが表示されるなら、500エラーの原因は.htaccessにあります。
500になった時に最初に分けること
500エラーは画面だけでは原因が分かりません。直前に .htaccess を触ったか、PHPを触ったか、サーバー側で広く起きているかを先に分けます。
| 状態 | 先に見る場所 | 次の行動 |
|---|---|---|
.htaccess 編集直後にサイト全体が500 |
サーバー上の .htaccess |
削除せず、別名にして表示が戻るか確認します。 |
| PHPページだけ500、HTMLは表示される | PHP構文、include、エラーログ | .htaccess だけでなくPHP側のエラーを確認します。 |
| リダイレクト設定後に500またはループ | RewriteRule、Redirect、転送先URL |
https化、www統一、旧URL転送を1つずつ分けて戻します。 |
| Search Consoleで5xxが出ている | 公開URL、発生日時、直前のアップロード、URL検査 | 今も500か、過去の一時的な失敗かを分けます。 |
実際に見る順番
500エラーは画面だけでは原因が分かりません。直前に .htaccess を触ったなら、次の順番で切り分けます。
| 順番 | 見る場所 | 分かること |
|---|---|---|
| 1 | 直前にアップロードした .htaccess | 原因候補を1ファイルに絞れるか |
| 2 | サーバー上のファイル名 | .htaccess が効いている場所か |
| 3 | 別名退避後の表示 | .htaccessが原因か、PHPなど別原因か |
| 4 | バックアップとの差分 | どの行を足して500になったか |
| 5 | RewriteRule と Redirect | リダイレクト記述のミスや無限転送 |
| 6 | 全角スペース、不可視文字 | コピペで混ざった文字の影響 |
| 7 | PHPエラーログ | .htaccessではなくPHP側の500か |
バックアップを戻す
編集前に保存していたバックアップがある場合は、それを .htaccess に戻します。バックアップがない場合は、最小構成から1つずつ戻します。
RewriteEngine On
ここからリダイレクトや404設定を1ブロックずつ追加し、どこで500になるか確認します。
ロリポップでよくある原因
| 原因 | 確認すること |
|---|---|
| 使えないディレクティブ | サーバーで許可されていない設定を書いていないか |
| 全角スペースや不可視文字 | コピーしたコードに余計な文字が入っていないか |
| RewriteRuleの書き間違い | 条件式と転送先URLを1行ずつ確認 |
| 置き場所の間違い | サイト全体に効くルートへ置いていないか |
リダイレクトは小さく試す
httpからhttps、www統一、古いURLの301を一度に入れると、どれが原因かわからなくなります。最初は1つだけ入れて確認します。
Redirect 301 /old-page.php /new-page.php
復旧後に確認するページ
- トップページが表示される
- 記事ページが表示される
- CSSと画像が読み込まれる
- 古いURLのリダイレクトが動く
- 存在しないURLで404になる
AIに相談する時のメモ
AIに相談する時は、500になった直前の変更と、退避した結果を書きます。FTPパス、ログイン情報、Basic認証のパスワードは貼らないでください。
自分で文章化しにくい時は、サーバー会社・制作会社への問い合わせ文メーカーやロリポップ問い合わせ文メーカーで、URL、症状、直前の作業、確認済み項目を整理できます。
ロリポップで.htaccessを編集した後に500 Internal Server Errorになりました。
500になるURL:
直前に変更した.htaccessの目的:
例: https化 / www統一 / 旧URLからリダイレクト / Basic認証 / 404ページ設定
追加または変更した.htaccessの該当部分:
.htaccessを別名にした結果:
例: 表示が戻った / まだ500のまま
バックアップとの差分:
PHPページだけか、HTMLページも500か:
確認したこと:
- .htaccessの置き場所:
- 全角スペース:
- RewriteRule:
- Redirect:
- PHPエラーログ:
- バックアップ:
ログイン情報、FTPパスワード、Basic認証パスワードは伏せています。
初心者向けに、次に見る順番を教えてください。
公式情報で確認するところ
| 確認したいこと | 公式情報 | この記事での使い方 |
|---|---|---|
| .htaccessの役割と編集方法 | ロリポップ公式 .htaccessの利用方法 | .htaccess の基本、編集方法、ファイル名の考え方を確認します。 |
| 500 Errorの原因候補 | ロリポップ公式 500 Error | .htaccess の記述問題、PHP設定、エラーログ確認の根拠にします。 |
| エラーページ設定と500 Internal Error | ロリポップ公式 エラーページの変更 | .htaccess の記述ミスで500が出る場合の確認に使います。 |
Search Consoleで5xxが出た時の見方
Search Consoleでサーバーエラー(5xx)が出ている時は、まず対象URLを通常ブラウザで開きます。今も500なら、Search Consoleより先に公開URLの復旧を優先します。
すでに表示が戻っている場合は、発生日時、直前にアップロードした .htaccess、PHP変更、サーバー側の一時的なエラーを分けて、URL検査や再クロールを待つか判断します。
| 状態 | 見ること | 進むページ |
|---|---|---|
| 今も500が出る | .htaccess 退避、PHPエラーログ、直前の変更 |
Web公開トラブル症状別レスキュー |
| Search Consoleだけに5xx履歴が残る | 発生日時、URL検査、現在のHTTPステータス | Search Consoleでサーバーエラー(5xx)が出た時の確認順 |
| リダイレクト設定後にエラーが増えた | 301、https化、www統一、転送ループ | Search Consoleでリダイレクト エラーが出た時の確認順 |