WordPressの.htaccessが何度直しても改ざんされる原因|再生成前に調べる場所

WordPressの.htaccessが繰り返し書き換えられる原因を調査するイメージ

WordPressの.htaccessを正常な内容へ戻したのに、
数分後や次のアクセス後にまた知らない記述が増えて困っていませんか?

海外サイトへの転送、検索エンジンだけを狙う分岐、見覚えのないPHP設定が復活すると、
何度直しても終わらないように感じます。

結論から言うと、.htaccessだけを再生成しても、書き換えているプログラムや侵入口が残っていれば再発します。
再生成を繰り返す前に現在のファイルと時刻を保全し、「いつ・何が・どの権限で戻したか」を追うことが先です。

よこやま良平

WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験をもとに、.htaccessを直しても改ざんが戻る時の証拠保全から、書き換え元を止める安全な確認順まで解説します。

この記事でわかること
  • .htaccessが正常に更新された場合と不審な改ざんの違い
  • 再生成する前に保存すべきファイル・時刻・ログ
  • プラグイン、テーマ、Cron、不審PHP、管理者を調べる順番
  • 書き換え元を止めてから正常なルールへ戻す復旧手順
  • 再発を確認する監視方法と専門家へ切り替える基準

大切なのは「怪しい行を消すこと」ではなく、正常な変更と不正な変更を分け、再び書き込まれる原因まで取り除くことです。
サイトを止める操作や一括削除を急がず、証拠を残せる手順から進めましょう。

目次

【無料プレゼント】
WordPress緊急チェック50

「自分のサイトは今、安全なのか?」
自信を持って答えられますか?

WordPress緊急チェック50

こんなお悩みはありませんか?

  • ある朝、サイトを開いたら真っ白画面になっていた
  • 管理画面にログインできなくなって手が止まった
  • 身に覚えのない記事やページが勝手に増えていた
  • プラグインを更新したらサイト全体が崩れてしまった
  • 以前バックアップを取ったか自分でも覚えていない

累計1,000件以上のWordPressトラブル対応の経験から、「壊れる前に備える」ためのチェックリストを1冊にまとめました。
ログイン・本体・バックアップ・サーバー・運用の5分野を、50項目で「危険度・確認方法・対処法」まで解説しています。

セキュリティプラグイン・WordPressの教科書も含めた3大特典を、
今なら無料で受け取れます。

今すぐ無料ダウンロードする →

※登録後すぐにメールで特典をお届けします

WordPressの.htaccessが何度直しても改ざんされる時は再生成を繰り返さない

WordPressの.htaccessが何度も不審な内容へ戻る時は、再生成の回数を増やすより、
変更が起きる条件を一度固定して観察するのが正解です。
上書きだけを続けると時刻や差分が失われ、原因を追うための重要な証拠まで消えてしまいます。

.htaccessはページ表示の入口を制御する設定ファイル

.htaccessはApache系Webサーバーで、置かれたディレクトリとその配下の動作を調整する分散設定ファイルです。
WordPressでは主に、記事URLをindex.phpへ渡すパーマリンク処理に使われます。

正常な再生成と不審な改ざんを内容で区別する

パーマリンク設定を保存した直後や、URL制御を行う正規プラグインを更新した直後の変更は、必ずしも侵害ではありません。
# BEGIN WordPressから# END WordPressまでの標準ルールが更新された場合は、操作履歴と一致するかを確認します。

不審度が高いのは、操作していない時間に変わる、WordPressの区間外へ長い難読化文字列が入る、知らない外部ドメインへ転送する、画像に見せたPHPを呼び出す、といった変化です。
スマホ、検索経由、特定のIPやUser-Agentだけで動く条件分岐にも注意が必要です。

不審度が高い変化
  • 自分も保守担当者も操作していない時刻に更新される
  • 削除した転送先、難読化文字列、見覚えのない環境変数が同じ形で戻る
  • 検索経由、スマホ、未ログイン時だけ挙動が変わる
  • WordPressルート以外の上位・下位フォルダにも同様のルールが増える
  • 同時刻に不審PHP、管理者、Cron、プラグインが追加・更新される

再発する時刻と直前の操作を一つずつ照合する

原因を絞るうえで役立つのは、ファイルの更新時刻だけではなく、直前に何が動いたかです。
管理画面を開いた直後、アクセスが入った直後、毎時同じ分、夜間の定刻、プラグイン更新直後など、再発条件を時系列で記録します。

アクセス直後なら、読み込まれたテーマやプラグイン内の処理、不審PHPへのHTTPアクセスが候補です。
一定間隔ならWP-CronやサーバーCron、ログイン直後なら管理者セッションや管理画面側の保存処理を疑いやすくなります。

わたしの実務では、「直した時刻」より「戻った最初の時刻」を押さえると、アクセスログやCronの記録へ結び付けやすくなります。

WordPressの.htaccessを再生成する前に保存する証拠

WordPressの.htaccessを再生成する前には、現在のファイル、比較用の正常版、症状、ログを同じ時刻軸で保存してください。
復旧を急ぐ場面でも、数分の証拠保全が誤削除と再調査を減らします。

WordPressの.htaccessを再生成する前にファイルとログを保全するイメージ

現行ファイルを編集せずコピーして属性も記録する

最初に.htaccessを別名でコピーし、ファイル内容、完全パス、サイズ、更新時刻、権限、所有者を記録します。
ダウンロード後にウイルス対策が警告する可能性もあるため、安易に開いたり共有サービスへアップロードしたりせず、アクセスを限定した保全場所へ置きます。

再生成前に残す記録
  • .htaccessの完全パス、内容、サイズ、更新時刻
  • ファイルの権限、所有者、グループ、ハッシュ値
  • 正常だった時のバックアップまたは正規ルール
  • 異常が出たURL、端末、参照元、時刻、画面の記録
  • 同時刻のアクセスログ、エラーログ、操作履歴
  • 直前に更新・有効化・設定変更した機能

症状を端末・参照元・ログイン状態で分けて残す

不正転送は、すべての閲覧で再現するとは限りません。
検索結果から入った時だけ、スマホだけ、未ログインだけ、最初の1回だけなど、攻撃者が管理者の確認を避ける条件を付けることがあります。

正常版との差分をWordPress区間の内外で確認する

比較では、行数だけでなく「どの区間へ何が追加されたか」を見ます。
WordPress標準区間、サーバー会社の設定、キャッシュやセキュリティ機能の区間、由来不明の区間に分けると整理しやすくなります。

WordPressのflush_rewrite_rules()は、hard flush時に.htaccessを更新し得ます。
正規プラグインやテーマが必要時に使うことはありますが、毎回のアクセスで呼び出す実装は高コストで、更新時刻の手掛かりにもなります。

標準例は単一サイト・サブディレクトリ・マルチサイトなどで異なります。自分の構成を確認せず、インターネット上の例を貼り付けないでください。

WordPressの.htaccessを何度も書き換える場所を調べる

WordPressの.htaccessを何度も書き換える原因は、ファイル自身ではなく、PHP処理、予約処理、侵害されたアカウント、サーバー側の自動設定にあります。
更新時刻と再現条件を手掛かりに、書き込み可能な場所を狭い範囲から確認します。

プラグインやCronから.htaccessの書き換え元を追跡するイメージ

プラグイン・テーマ・mu-pluginsの書き込み処理を確認する

キャッシュ、リダイレクト、SSL、セキュリティ、画像保護、多言語化などの正規プラグインは、.htaccessへルールを追加することがあります。
設定画面や公式資料に同じ記述があるか、無効化した時に再発が止まるかを、ステージング環境または影響を抑えた時間帯で確認します。

テーマのfunctions.php、独自プラグイン、mu-pluginsも対象です。
通常プラグインを停止してもmu-pluginは自動読み込みされるため、管理画面の通常一覧だけを見て「全部止めた」と判断しないでください。

file_put_contents
fopen
fwrite
flush_rewrite_rules
RewriteRule
.htaccess

WP-Cron・サーバーCron・自動復元処理を時刻で照合する

毎時同じ分やアクセス後に再発するなら、WP-Cronのイベントを確認します。
見覚えのないフック名だけで削除せず、どのプラグインやテーマが登録したか、停止後に再登録されるか、実行予定時刻が再発時刻と一致するかを見ます。

不審PHP・バックドア・管理者アカウントを関連付ける

削除した.htaccessの記述が同じ形で戻る場合、不審PHPやバックドアがテンプレートを保持している可能性があります。
ルート直下だけでなく、uploads、cache、tmp、プラグイン、テーマ、mu-plugins、上位公開領域を確認します。

見覚えのない管理者、Application Password、FTP/SFTP、サーバー管理、デプロイ用キーが残っていると、ファイルを直した後に再び書き込まれます。
管理者を削除する前には作成時刻、メール、権限、所有コンテンツ、直近セッションを保存し、正規利用者か確認してください。

上位・下位ディレクトリの別.htaccessも確認する

.htaccessは置かれたディレクトリと配下へ適用されるため、WordPressルートの1枚だけで挙動が決まるとは限りません。
ドキュメントルートより上、別のWordPress、wp-admin、uploads、古いサイトの残骸などに別ファイルがないか確認します。

Apache公式資料でも、上位階層の.htaccessが順に確認され、下位の設定が先の設定へ影響し得ることが説明されています。
ファイル一覧を取得し、各パスと内容を対応させてから変更範囲を決めてください。

WordPressの.htaccess改ざんを安全に復旧する順番

WordPressの.htaccess改ざんは、書き換え元と侵入口を止めてから正常ルールへ戻し、表示と再発を検証する順番が安全です。
正常ファイルへの上書きを最初のゴールにせず、サイト全体の復旧工程として扱います。

安全な復旧の順番
  1. 影響範囲を確認し、必要ならメンテナンスやアクセス制限で被害を抑える
  2. ファイル・DB・ログ・設定・アカウント情報を保全する
  3. 可能なら隔離した複製環境で書き換え元を特定する
  4. 不審PHP、侵害されたプラグイン、Cron、管理者などの実行元を止める
  5. 脆弱性、漏れた認証情報、同一アカウント内の別サイトなど侵入口を塞ぐ
  6. 構成に合う正常な.htaccessへ戻し、必要な正規ルールだけ再設定する
  7. 表示・管理・送信・転送・ログを確認し、時間を置いて再発を監視する
WordPressの.htaccessを安全に復旧して再発を監視するイメージ

公開被害を抑えながら復旧可能なバックアップを確保する

訪問者が危険なサイトへ転送される、検索結果が汚染される、管理画面が操作されている場合は、復旧より先に被害拡大を抑える判断が必要です。
サーバー会社の機能や専門家の支援で一時的にアクセスを制限し、危険な転送先を不用意に開かないようにします。

バックアップはファイルだけでなく、データベース、Cron、DNS、サーバー設定、ユーザー一覧、ログも対象です。
感染後のバックアップは「そのまま戻す正常版」ではなく、調査証拠として別に保管します。

実行元を止めてから正規配布物へ差し替える

不審な追加ファイルは、元パスとハッシュを残して公開領域外へ隔離します。
WordPress本体や公式プラグインへ不正コードが追記されている場合は、同じ正規バージョンの配布物と照合し、必要な独自変更を確認してから正常ファイルへ置き換えます。

見覚えのないプラグインを削除するだけでなく、ローダー、mu-plugin、Cron、DB内の設定、別サイトのバックドアまで追います。
処理を止めた後に.htaccessの更新が止まることを確認できれば、原因と結果の関係が強くなります。

安全な端末から認証情報とセッションを更新する

WordPress管理者、サーバー管理、FTP/SFTP、データベース、SSH、メール、CDN、DNSの認証情報を見直します。
感染した可能性がある端末で新しいパスワードを入力すると再び漏れるおそれがあるため、端末側も確認してから変更します。

WordPressの認証用ソルトを更新して既存セッションを無効化し、不要なApplication PasswordやAPIキーを失効させます。
共同管理者がいる場合は勝手に締め出さず、正規アカウントを確認したうえで一斉に切り替えます。

構成に合う.htaccessへ戻して主要機能を確認する

書き換え元を止めた後で、単一サイト、サブディレクトリ、マルチサイトなど自分の構成に合う正常ルールへ戻します。
サーバー会社、キャッシュ、セキュリティ、常時SSL化の正規ルールは、公式資料と現在の設定を照合して必要なものだけ戻します。

復旧後の表示確認
  • トップ、投稿、固定ページ、カテゴリー、画像、管理画面が開く
  • PC・スマホ、検索経由・直接アクセス、ログイン前後で不正転送がない
  • 問い合わせ、購入、会員登録、メール送信など主要業務が動く
  • 404、403、500、リダイレクトループが増えていない
  • .htaccessの内容・ハッシュ・更新時刻が監視期間中に勝手に変わらない

WordPressの.htaccess再発を防ぐ設定と監視

WordPressの.htaccess再発防止では、権限を極端に固めるだけでなく、正規の更新経路を保ちながら侵入口を減らし、差分を監視することが重要です。
一度変化が止まっても、時間差のCronや盗まれた認証情報が残っていないか確認します。

所有者と権限はサーバーの実行方式に合わせる

.htaccessを読み取り専用にすれば必ず安全になるわけではありません。
PHPとFTPが同じ所有者で動く共有サーバーでは、侵害された同じ権限から変更されることがあり、正規のパーマリンク更新まで失敗する場合があります。

WordPress公式の権限資料も、所有者、Webサーバーの実行ユーザー、共有ホスティング方式によって適切な設定が異なると説明しています。
777のような過剰な書き込み権限は避け、サーバー会社の推奨値と現在の所有者を確認してください。

本体・プラグイン・テーマと不要資産を整理する

侵入口になった脆弱性を塞がなければ、.htaccessを正常化しても再侵入されます。
互換性とバックアップを確認したうえでWordPress本体、プラグイン、テーマを更新し、使っていないものや配布終了品は削除・置換を検討します。

WAF、二要素認証、ログイン試行制限、不要なXML-RPCの制限などを環境に合わせて組み合わせます。
防御機能を複数重ねる場合は、同じ機能が競合して.htaccessを交互に書き換えないよう設定を整理します。

クイックレスキュー365は、不正ログインブロック、ログインURL変更、XML-RPC遮断、uploadsフォルダでのPHP動作禁止など、平常時と復旧後の防御を補助します。
マルウェアをスキャン・検出する機能はないため、感染確認はWordfenceなどのスキャナーや専門調査と分けて考えてください。

ハッシュ・更新時刻・ログを時間を置いて再確認する

復旧直後だけ正常でも完了とは言えません。
アクセス直後、WP-Cronの予定時刻後、管理者ログイン後、夜間処理後など、以前に再発した条件を通過しても変化しないことを確認します。

.htaccessのハッシュ、更新時刻、所有者、差分を定期的に記録し、変更時に通知できる監視を用意します。
通知が多すぎると見落とすため、正規更新の予定と照合し、確認済みの変更は理由と一緒に記録してください。

WordPressの.htaccessでやってはいけない対処

WordPressの.htaccessが何度も変わる時は、強い設定を急いで適用するより、証拠と復旧手段を確保してから一つずつ変更してください。
短時間だけ直ったように見える対処が、原因調査や正規機能を壊すことがあります。

避けたい対処
  • 証拠を残さず.htaccessを削除・上書きする
  • 原因を調べずパーマリンク再保存を繰り返す
  • 環境を確認せず444や777へ固定する
  • 不審に見えるPHPやプラグインを一括削除する
  • 転送先ドメインや一つのIPを塞いだだけで駆除完了とする
  • 不審コード、認証情報、顧客データを公開の相談場所へ貼る

.htaccessを消してパーマリンク保存だけで終わらせない

標準ルールへ戻すと一時的に表示が直ることはあります。
しかし書き換え元が残っていれば、次のアクセスやCronで同じ不正ルールが復活し、訪問者への被害が続きます。

権限を極端に変えて正常動作まで止めない

444へ変更すれば安心、777なら保存エラーが直る、という一律判断は危険です。
実行ユーザーと所有者によって効果が異なり、更新不能、500エラー、権限の拡大を招く可能性があります。

一つの不審行やIPだけを原因と決めつけない

不正転送先を削除したり、アクセス元IPを拒否したりする応急処置は、被害を抑える目的では役立つことがあります。
それでも、攻撃者は別ドメイン、別IP、別ファイルへ切り替えられるため、侵入口と永続化処理の確認が必要です。

不審コードや認証情報を公開せず専門家へ渡す

不審ファイルには、攻撃用URL、トークン、メールアドレス、顧客情報への参照が含まれる場合があります。
SNS、掲示板、公開AIサービスへそのまま貼ると、二次被害や調査妨害につながりかねません。

WordPressの.htaccess改ざんでよくある質問

.htaccessの更新日時が変わったら感染確定ですか?

感染確定ではありません。パーマリンク保存、正規プラグイン、SSLやキャッシュ設定でも更新されます。操作履歴、差分、書き込んだ機能、同時刻のログを照合し、見覚えのない転送や難読化、再発があるかで判断してください。

.htaccessを削除してもWordPressは表示できますか?

環境によってはトップだけ表示されても、投稿や固定ページが404になることがあります。独自ルールやサーバー設定も失う可能性があるため、現行ファイルを保全し、構成に合う正常版と復旧手段を用意せず削除しないでください。

パーミッションを444にすれば改ざんを防げますか?

一律には防げません。所有者とPHPの実行方式によっては同じ権限から変更され、正規更新だけが失敗することもあります。サーバー会社の推奨、所有者、書き込みが必要な機能を確認し、実行元と侵入口の除去を優先してください。

どの時点で専門家へ相談すべきですか?

不正転送が続く、管理権限を失った、不審PHPや管理者が複数ある、削除後に再生成される、同一サーバーの複数サイトへ広がる、ログや正常バックアップがない場合は、自力変更を増やす前に相談してください。

WordPressの.htaccessが何度も改ざんされる時の確認まとめ

WordPressの.htaccessが何度直しても改ざんされる時は、再生成を繰り返す前に、戻った最初の時刻と現行ファイルを保全してください。
正常なパーマリンク更新と不審な変更を分け、差分、所有者、ログ、再現条件を同じ時系列で確認します。

書き換え元は、プラグイン、テーマ、mu-plugins、WP-Cron、サーバーCron、不審PHP、侵害された管理者やサーバー認証、別階層の.htaccessに隠れていることがあります。
一つの不審行を消すだけではなく、実行元と侵入口を止めることが根本対処です。

最後に確認すること
  • 変更前の内容・ハッシュ・時刻・所有者・ログを保存した
  • 書き換え元と侵入口を止め、必要な認証情報を安全な端末から更新した
  • 自分の構成に合う正常ルールだけを戻した
  • 主要ページ・管理画面・フォーム・転送・エラーを確認した
  • 以前の再発条件と時間帯を通過しても差分が出ないことを監視した

原因が分からないまま編集回数を増やすと、正規ルールと証拠を失い、復旧が難しくなります。
不正転送や再生成が続く場合は、現在の状態を保全したうえで早めに専門調査へ切り替えてください。

WordPressの.htaccess改ざんが自分で止められない時は

WordPress修復マルウェア駆除トラブル専門「クイックレスキュー」

.htaccessを直しても不審な転送や書き換えが戻るなら、ファイル以外に実行元や侵入口が残っている可能性があります。
ホームページの改ざん・マルウェア感染・不正アクセスでお困りなら、クイックレスキューが原因調査から復旧後の確認まで対応します。

こんなお悩みはありませんか?
  • .htaccessを戻しても数分後にまた書き換わる
  • 検索経由やスマホだけ別サイトへ転送される
  • 不審PHP、管理者、Cronのどれが原因か分からない
  • バックアップを戻しても再発し、業務への影響が続いている
  • 証拠を残しながら安全にWordPressを復旧したい

原因が分からないまま再生成を繰り返さず、現在の状態を保全してご相談ください。初期費用・調査費用0円で状況を確認します。

3つの安心保証
  • 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
  • 90日間再感染保証・動作保証で安心
  • 初期費用・調査費用0円で安心

この記事を書いた専門家

こんにちは!20年以上ITエンジニアとして活動してきた
よこやま良平です。

Wordpress復旧やサイト修復、オンライン講座では
776件以上のレビューを頂いており

「すぐに復旧してくれる!」
「当日行ってくれて助かった!」など

評価は4.9/5.0と非常に高く好評です。

またWordPress、SEO、Officeなど30冊以上の書籍を出版しており、
売上ランキング1位を連続で獲得致しました。

その他これまでに3000以上のサービス・システム・サイトを作成。

多くの方の「できない」や「悩み」を解決してきました。
その観点からわかりやすく解説しています。

目次