2026年10月7日
2026年10月7日
WordPressのHTTP 401 Unauthorizedを解決する方法
はじめに
HTTP 401 Unauthorizedは、アクセスしようとしているページやリソースに対する認証が不足していることを示すエラーです。WordPressサイト上でこのエラーが発生すると、ユーザーがログインできなかったり、特定のページへのアクセスができなくなるなどの問題が起こります。
症状・背景
このテーマが必要になる主な場面:
- ログイン画面で「401 Unauthorized」エラーページにリダイレクトされる
- 特定の投稿や固定ページにアクセスできない
- FTPやSFTP経由でのファイルアップロードが失敗する
- サイト全体へのアクセスが制限されている
手順・設定方法
ステップ1: ファイル権限の確認と修正
# WordPressのルートディレクトリに移動します。
cd /var/www/html/wordpress/
# 現在のファイル権限を確認します。
ls -l
# 必要な場合、ファイルやディレクトリの所有者とグループを変更します。
sudo chown -R www-data:www-data .
# ファイルとディレクトリのパーミッションを修正します。
find . -type f -exec chmod 640 {} \;
find . -type d -exec chmod 750 {} \;
# WordPress用の.htaccessファイルの確認
cat .htaccess
ステップ2: .htaccessファイルの設定
# .htaccessファイルを開きます。
nano .htaccess
# ファイル内で次の行を追加または修正します。
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /var/www/html/wordpress/.htpasswd
Require valid-user
ステップ3: .htpasswdファイルの作成と設定
# .htpasswdファイルを作成し、ユーザー名とパスワードを追加します。
sudo htpasswd -c /var/www/html/wordpress/.htpasswd username
# 複数のユーザーを追加する場合
sudo htpasswd /var/www/html/wordpress/.htpasswd anotheruser
# .htaccessファイルに再度アクセスして、新しく作成したパスワードファイルを使用していることを確認します。
nano .htaccess
ステップ4: Apache設定の確認と再起動
# Apacheの設定ファイルを開きます。
sudo nano /etc/apache2/sites-available/000-default.conf
# 必要な場合は、次のようにVirtualHostブロック内に追加します。
<Directory "/var/www/html/wordpress">
AllowOverride All
</Directory>
# Apacheを再起動して変更を有効にします。
sudo systemctl restart apache2
注意事項
- .htaccessファイルの編集は慎重に行い、バックアップを取りましょう。
- ユーザー名とパスワードはセキュリティ上、適切なものを使用しましょう。
- Apacheの設定を変更した場合は必ず再起動を行ってください。
- WordPressサイトに影響を与える可能性があるため、重要な作業はテスト環境で先行して行うことを推奨します。
まとめ
1. ファイル権限: 正しくセットアップすることでサイトへのアクセスが容易になります。
2. .htaccess設定: 認証が必要な場面ではこのファイルを編集しましょう。
3. ユーザー管理: .htpasswdファイルを通じてユーザー認証情報を管理します。
4. Apache再起動: 設定変更後は必ずサービスの再起動を行ってください。
5. テストとバックアップ: 変更前の設定を保存し、テスト環境で動作確認を行うことを推奨します。
関連記事: