if $http_cookie と try_files の相性が悪い。
書き方なのかな?
nginxは 1.7.x か 1.8.x だったはず。
location /wp { (略) if ($http_cookie ~ "^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$") { set $no_cache 1; } (略) try_files $uri $uri/ /index.php?q=$uri&$args; location ~ \.php$ { (略) } }
こんな感じに書くと、WordPressにログインした状態で記事ページが404になってしまいました。
- 非ログイン状態だと問題なし。
$http_cookie
のブロックをコメントアウトすると、ログイン状態でも記事が表示できる。- set~ の部分のみコメントアウトしても404。
- 他のifブロックは問題なし。
エラーログを見るとtry_files
が効いていないようで、/wp/2016/04/12/hello/index.php
みたいなuriでファイルを探すけど、
当然無いので404になると。
ちょっと時間を作って色々試したい。
その前にバージョンを上げるかな……