WordPressの.htaccessを正常な内容へ戻したのに、
数分後や次のアクセス後にまた知らない記述が増えて困っていませんか?
海外サイトへの転送、検索エンジンだけを狙う分岐、見覚えのないPHP設定が復活すると、
何度直しても終わらないように感じます。
結論から言うと、.htaccessだけを再生成しても、書き換えているプログラムや侵入口が残っていれば再発します。
再生成を繰り返す前に現在のファイルと時刻を保全し、「いつ・何が・どの権限で戻したか」を追うことが先です。
WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験をもとに、.htaccessを直しても改ざんが戻る時の証拠保全から、書き換え元を止める安全な確認順まで解説します。
.htaccessが正常に更新された場合と不審な改ざんの違い- 再生成する前に保存すべきファイル・時刻・ログ
- プラグイン、テーマ、Cron、不審PHP、管理者を調べる順番
- 書き換え元を止めてから正常なルールへ戻す復旧手順
- 再発を確認する監視方法と専門家へ切り替える基準
大切なのは「怪しい行を消すこと」ではなく、正常な変更と不正な変更を分け、再び書き込まれる原因まで取り除くことです。
サイトを止める操作や一括削除を急がず、証拠を残せる手順から進めましょう。
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、ログイン直後なら管理者セッションや管理画面側の保存処理を疑いやすくなります。
WordPressの.htaccessを再生成する前に保存する証拠
WordPressの.htaccessを再生成する前には、現在のファイル、比較用の正常版、症状、ログを同じ時刻軸で保存してください。
復旧を急ぐ場面でも、数分の証拠保全が誤削除と再調査を減らします。

現行ファイルを編集せずコピーして属性も記録する
最初に.htaccessを別名でコピーし、ファイル内容、完全パス、サイズ、更新時刻、権限、所有者を記録します。
ダウンロード後にウイルス対策が警告する可能性もあるため、安易に開いたり共有サービスへアップロードしたりせず、アクセスを限定した保全場所へ置きます。
.htaccessの完全パス、内容、サイズ、更新時刻- ファイルの権限、所有者、グループ、ハッシュ値
- 正常だった時のバックアップまたは正規ルール
- 異常が出たURL、端末、参照元、時刻、画面の記録
- 同時刻のアクセスログ、エラーログ、操作履歴
- 直前に更新・有効化・設定変更した機能
症状を端末・参照元・ログイン状態で分けて残す
不正転送は、すべての閲覧で再現するとは限りません。
検索結果から入った時だけ、スマホだけ、未ログインだけ、最初の1回だけなど、攻撃者が管理者の確認を避ける条件を付けることがあります。
正常版との差分をWordPress区間の内外で確認する
比較では、行数だけでなく「どの区間へ何が追加されたか」を見ます。
WordPress標準区間、サーバー会社の設定、キャッシュやセキュリティ機能の区間、由来不明の区間に分けると整理しやすくなります。
WordPressのflush_rewrite_rules()は、hard flush時に.htaccessを更新し得ます。
正規プラグインやテーマが必要時に使うことはありますが、毎回のアクセスで呼び出す実装は高コストで、更新時刻の手掛かりにもなります。

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

プラグイン・テーマ・mu-pluginsの書き込み処理を確認する
キャッシュ、リダイレクト、SSL、セキュリティ、画像保護、多言語化などの正規プラグインは、.htaccessへルールを追加することがあります。
設定画面や公式資料に同じ記述があるか、無効化した時に再発が止まるかを、ステージング環境または影響を抑えた時間帯で確認します。
テーマのfunctions.php、独自プラグイン、mu-pluginsも対象です。
通常プラグインを停止してもmu-pluginは自動読み込みされるため、管理画面の通常一覧だけを見て「全部止めた」と判断しないでください。
file_put_contents
fopen
fwrite
flush_rewrite_rules
RewriteRule
.htaccessWP-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改ざんは、書き換え元と侵入口を止めてから正常ルールへ戻し、表示と再発を検証する順番が安全です。
正常ファイルへの上書きを最初のゴールにせず、サイト全体の復旧工程として扱います。
- 影響範囲を確認し、必要ならメンテナンスやアクセス制限で被害を抑える
- ファイル・DB・ログ・設定・アカウント情報を保全する
- 可能なら隔離した複製環境で書き換え元を特定する
- 不審PHP、侵害されたプラグイン、Cron、管理者などの実行元を止める
- 脆弱性、漏れた認証情報、同一アカウント内の別サイトなど侵入口を塞ぐ
- 構成に合う正常な
.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改ざんでよくある質問
WordPressの.htaccessが何度も改ざんされる時の確認まとめ
WordPressの.htaccessが何度直しても改ざんされる時は、再生成を繰り返す前に、戻った最初の時刻と現行ファイルを保全してください。
正常なパーマリンク更新と不審な変更を分け、差分、所有者、ログ、再現条件を同じ時系列で確認します。
書き換え元は、プラグイン、テーマ、mu-plugins、WP-Cron、サーバーCron、不審PHP、侵害された管理者やサーバー認証、別階層の.htaccessに隠れていることがあります。
一つの不審行を消すだけではなく、実行元と侵入口を止めることが根本対処です。
- 変更前の内容・ハッシュ・時刻・所有者・ログを保存した
- 書き換え元と侵入口を止め、必要な認証情報を安全な端末から更新した
- 自分の構成に合う正常ルールだけを戻した
- 主要ページ・管理画面・フォーム・転送・エラーを確認した
- 以前の再発条件と時間帯を通過しても差分が出ないことを監視した
原因が分からないまま編集回数を増やすと、正規ルールと証拠を失い、復旧が難しくなります。
不正転送や再生成が続く場合は、現在の状態を保全したうえで早めに専門調査へ切り替えてください。
WordPressの.htaccess改ざんが自分で止められない時は

.htaccessを直しても不審な転送や書き換えが戻るなら、ファイル以外に実行元や侵入口が残っている可能性があります。
ホームページの改ざん・マルウェア感染・不正アクセスでお困りなら、クイックレスキューが原因調査から復旧後の確認まで対応します。
.htaccessを戻しても数分後にまた書き換わる- 検索経由やスマホだけ別サイトへ転送される
- 不審PHP、管理者、Cronのどれが原因か分からない
- バックアップを戻しても再発し、業務への影響が続いている
- 証拠を残しながら安全にWordPressを復旧したい
- 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
- 90日間再感染保証・動作保証で安心
- 初期費用・調査費用0円で安心






