Basic/Digest 認証環境下で WordPress で予約投稿できない場合の対処法
Web サーバの設定で Basic 認証や Digest 認証をかけている場合、WordPress の予約投稿が失敗します。WordPress は予約投稿時にトリガーとして疑似 cron で自分自身に HTTP リクエストを送っているのですが、そのリクエストもブロック認証でブロックくされてしまうためです。
これを解決するためには、ローカルホスト(サーバ自身)からのアクセスについては認証を回避するようにしてあげましょう。
たとえば Apache で Digest 認証と IP による許可を組み合わせるには、conf ファイルや .htaccess での認証で、Satisfy any
を使います。ここでは 127.0.0.1 と、サーバのグローバルIP (198.51.100.123 としています) を追加しています。
1 2 3 4 5 6 7 8 9 |
AuthUserFile /etc/httpd/auth/.htdigest AuthName Authorization AuthType Digest Require valid-user <strong>Satisfy any</strong> Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 198.51.100.123 |
これで自分自身による HTTP リクエストは許可されますので、投稿が成功するはずです。お試しあれ。