2026年7月21日
2026年7月21日
WordPressの.htaccessを正しく設定する方法
はじめに
.htaccessファイルは、Apacheウェブサーバー上で高度な制御を行える強力なツールです。WordPressサイトのセキュリティを向上させたり、パフォーマンスを最適化したりするために重要な役割を果たします。
この記事では、.htaccessファイルの基本的な設定から応用までを解説し、その重要性と効果についても詳しく紹介します。また、具体的な手順や設定方法と共に、実践的な注意点やトラブルシュートの方法も提供します。
症状・背景
このテーマが必要になる主な場面:
- <場面1>: .htaccessファイルが存在しないまたは正しく設定されていない場合
- <場面2>: WordPressサイトのセキュリティを向上させたい場合
- <場面3>: パフォーマンス最適化を行いたい場合
- <場面4>: 特定のHTTPヘッダーをカスタマイズしたい場合
手順・設定方法
ステップ1: .htaccessファイルの作成と基本操作
# WordPressサイトのルートディレクトリに移動します。
cd /var/www/html/wordpress-site
# .htaccessファイルを作成または編集します。既存のファイルがある場合は上書きしません。
nano .htaccess
ステップ2: ディレクトリ保護とパスワード設定
# .htaccessで特定ディレクトリへのアクセスを制限します(ここでは/wp-adminディレクトリ)。
<FilesMatch "wp-admin">
Order Deny,Allow
Deny from all
Allow from 192.168.0.1
</FilesMatch>
# パスワード保護のための.htpasswdファイルを作成します。
htpasswd -c /var/www/html/wordpress-site/.htpasswd username
ステップ3: URLリライトとキャッシュ設定
# WordPressのURLをきれいな形式に変更する(SEO向上)。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# ブラウザキャッシュを設定してコンテンツの高速配信を行います。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>
ステップ4: HTTPヘッダーとセキュリティ強化
# X-Frame-Optionsを設定してクリックジャッキングから保護します。
Header set X-Frame-Options "SAMEORIGIN"
# XSS攻撃に対する防御策としてX-XSS-Protectionヘッダを有効にします。
Header always append X-XSS-Protection "1; mode=block"
注意事項
- <実践的な注意点1>: .htaccessファイルの変更後は必ずApacheを再起動して設定を反映させます(
sudo service apache2 restart)。 - <実践的な注意点2>: ファイルやディレクトリへのアクセス権限を適切に設定することが重要です。通常、.htaccessファイルは644のパーミッションが推奨されます。
- <セキュリティ上の注意>: .htaccessファイルはWebサーバー上で直接アクセス可能であるため、不正な内容が書き込まれないように十分なアクセス制御が必要です。
- <パフォーマンス/運用上の注意>: 過剰に複雑なルールを設定すると処理負荷が増大する可能性があります。必要な機能だけを選択的に実装することが推奨されます。
まとめ
1. <キー1>: .htaccessファイルはApacheウェブサーバーの高度な制御に不可欠です。
2. <キー2>: 正しい設定により、WordPressサイトのセキュリティとパフォーマンスが向上します。
3. <キー3>: URLリライトやキャッシュ設定などはSEO対策にも効果的です。
4. <キー4>: HTTPヘッダーセットアップでブラウザやウェブサーバーの動作を制御できます。
5. <キー5>: .htaccessファイルの編集には適切なバックアップとテストが不可欠です。
関連記事: