value-serverのmigration後に500エラー頻繁中
.htaccess無効にしたら動くから多分apache2.2->2.4のせい
とりあえず治った気がするけど、穴がないか不安
依頼すればサーバーログ見せてくれるのだろうか
phpのversionとか疑ったけど、
やはりwordpress dir下の.htaccessでbasic認証設定していた箇所が原因だった模様。
旧環境での.htaccess
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "message-for-prompt"
AuthType Basic
<Files "wp-login.php">
Require valid-user
</Files>
<Files "xmlrpc.php">
Require valid-user
</Files>
(略)
<FilesMatch "\/?wp-admin">
Require valid-user
</FilesMatch>
これだと新環境は500 Server errorしてしまう。
AuthUserFileあたりがFiles,FilesMatchの要素にいれるとエラーが発生しない1。
Apacheのdoc読んでいたら<Files ~ reg>は非推奨という記載も見つけたので2
<FilesMatch>に使って下記のように更新。
新環境向けの.htaccess
<FilesMatch "(wp-login.php|xmlrpc.php|wp-admin)">
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
AuthName "message-for-prompt"
AuthType Basic
Require valid-user
</FilesMatch>
以前はsite-health.phpを例外にしてたようだけど、いつの間にか要らなくなった?
専門でないのでコピペ運用してたけど、ドキュメント読んで真面目に考えだすと我ながら不安になる構成。。。
でもVPS借りて運用する気力もないので当面はこのままかなぁ。
Try-and-errorの結果なのでLogicなし ↩
“ただし、<FilesMatch>を使う方が推奨されています。” in https://httpd.apache.org/docs/2.4/ja/mod/core.html#files ↩