📄 WordPressの.htaccessとは?
WordPress の
.htaccess
は、Apache系Webサーバーで使われる設定ファイルです。WordPressのパーマリンクやURLの振り分けに使われており、管理画面の「設定
>
パーマリンク」を保存すると自動生成されることがあります。サーバー環境によって扱いが異なる場合があります。
📍 WordPressの.htaccessはどこにありますか?
通常はWordPressをインストールしたディレクトリに存在します。ドメイン直下なら公開ディレクトリ(ドキュメントルート)の直下、サブディレクトリ設置ならそのサブディレクトリ内です。.htaccess
はドットで始まる隠しファイルのため、FTPソフトやサーバーのファイルマネージャーで「隠しファイルを表示する」設定を有効にする必要があります。
🔧 WordPressの.htaccessがない場合
- 管理画面の「設定 > パーマリンク」を開いて「変更を保存」を押すと、WordPressが自動的に生成しようとします。
- サーバーのパーミッション設定や権限の問題で自動生成できないことがあります。
-
その場合は、このツールで生成したコードを
.htaccessというファイル名でFTPを使ってアップロードします。
🔄 WordPress標準.htaccessの復元
誤って編集してしまった場合や、デフォルトに戻したい場合は、このツールで生成した「WordPress標準」コードに置き換えてください。# BEGIN WordPress
〜
# END WordPress
の中はWordPressが管理するブロックです。カスタム設定はその外側に記述することを推奨します。
🛡️ .htaccessでできる主なセキュリティ設定
- XML-RPCの無効化:外部からの不正なリクエストやブルートフォース攻撃を減らす。
- wp-login.phpのIP制限:特定のIPアドレスからのみログインを許可する。
- uploads内PHP実行禁止:アップロードディレクトリでのPHPスクリプト実行を防ぐ。
- wp-config.php保護:DBの認証情報などが含まれる重要ファイルへの外部アクセスを拒否。
-
重要ファイル保護:
.htaccess、.htpasswd、readme.htmlなどへのアクセスを拒否。 - ディレクトリ一覧禁止:ファイル一覧が外部から見えないようにする。
⚠️ wp-adminのIP制限は慎重に
wp-admin 全体をIP制限すると、admin-ajax.php
を使うプラグインやテーマがフロントエンドでも動作しなくなる場合があります。必要性が明確な場合のみ使用し、設定後は必ず動作を確認してください。
🔗 リダイレクトやBasic認証を設定したい場合
WordPress以外のリダイレクト設定を作成したい場合は、.htaccessリダイレクト生成ツールをご利用ください。
Basic認証を設定したい場合は、Basic認証・htpasswd生成ツールをご利用ください。
❓ よくある質問(FAQ)
.htaccess
という名前でインストールディレクトリにアップロードしてください。
.htaccess
と置き換えてください。適用前に必ず元のファイルをバックアップしてください。
wp-admin 全体をIP制限すると、admin-ajax.php
を利用するプラグインやテーマのフロント機能に影響が出る場合があります。必要性が明確な場合のみ利用し、適用後は十分な動作確認を行ってください。
wp-content/uploads/.htaccess
用のコードが生成されます。このファイルを
wp-content/uploads/
フォルダ内にアップロードしてください。