技術解説2026年2月更新

.htaccessを直しても
すぐ元に戻るのはなぜか

.htaccessの不正なリダイレクトを削除しても、数分後にはまた同じコードが書き込まれている—— この現象は、サーバー内にバックドアが存在していることを意味します。 .htaccessの修正だけでは解決しません。ファイルパーミッションの見直しも必要です。

.htaccessとは何か

.htaccessはApacheウェブサーバーの設定ファイルです。WordPressでは主にパーマリンク(URL構造)の制御に使われています。 正規のWordPressの.htaccessは以下のような短い内容です:

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

これ以外の記述がある場合、プラグインが追加したものか、不正に挿入されたものかを確認する必要があります。

よくある改ざんパターン

パターン1:条件付きリダイレクト

User-Agent(ブラウザの種類)やReferer(どこから来たか)を条件にして、 特定のユーザーだけを別のサイトにリダイレクトする。管理者には正常に見えるため発見が遅れる。

# 不正コードの例(検索エンジン経由のアクセスのみリダイレクト)
RewriteCond %{HTTP_REFERER} (google|yahoo|bing) [NC]
RewriteRule ^(.*)$ https://malicious-site.example/ [R=302,L]

パターン2:サブディレクトリの.htaccess

ルートの.htaccessだけでなく、wp-content/uploads/や各ディレクトリに 別の.htaccessが設置される。ルートだけ修正しても他のディレクトリの.htaccessが残る。

確認コマンド:find /path/to/wordpress -name ".htaccess" -type f

修正しても元に戻る原因

PHPバックドアが.htaccessを定期的に書き換えている

wp-content/uploads/やwp-includes/内に設置されたPHPファイルが、アクセスのたびに.htaccessを上書きする。cronジョブで定期実行されている場合もある。

wp-config.phpに.htaccess書き換えコードが挿入されている

WordPressの設定ファイル自体にマルウェアが仕込まれており、ページが読み込まれるたびに.htaccessを再生成する。

テーマやプラグインのファイルにバックドアがある

有効化されているテーマのfunctions.phpや、プラグインのメインファイルに.htaccessの書き換えコードが含まれている。

正しい対処の順序

  1. 1まずバックドアを特定して削除する(.htaccessの修正は後)
  2. 2全ディレクトリの.htaccessを検索して不正なものを全て削除する
  3. 3正規の.htaccessを再設置する
  4. 4.htaccessのパーミッションを444(読み取り専用)に変更する
  5. 5ファイル変更監視を設定して再改ざんを検知できるようにする

お困りですか?専門家に無料で相談できます

マルウェア感染の疑いがある場合、早期対応が被害を最小限に抑えます。 まずはLINEで無料相談をご利用ください。

.htaccessが何度も書き換えられる場合は

バックドアの特定と完全駆除が必要です。根本原因から対処します。

マルウェアの不安を 今すぐ解消しませんか?

リバースハックはWordPress専門のセキュリティチームです。 マルウェア駆除から再発防止まで、ワンストップでサポートします。 まずはお気軽にご相談ください。

最短即日対応
緊急時も迅速に対応
再感染30日保証
駆除後の安心サポート
相談無料
LINEで気軽に相談OK

※ 相談は無料です。お見積もりだけでもお気軽にどうぞ。

この記事をシェア