技術

nginxの設定を間違っていた

ひょんなことからこのブログの問題点を発見しました。
(私の文章が下手とかいう問題は置いといて。)
「wp-」から始まるタグのページが503で表示されないのです。
例えば https://peta.okechan.net/blog/archives/tag/wp-posts-in-a-tag とか。(修正済みなので今は表示されます。)
nginxを使ってるのですが、たしかにその設定ファイルの中にリクエストURIに「wp-」を含む場合に何かやるみたいな記述を追加したような。
早速確認してみると以下のような部分がありました。

location /blog {
  if (!-e $request_filename) {
    rewrite ^.+?(/wp-.*) /blog/$1 last;
    rewrite ^.+?(/.*\.php)$ /blog/$1 last;
    rewrite ^ /blog/index.php last;
  }
}

今見ると全く意味不明(特に、ifでファイルが実在しない場合に絞ってある中でrewriteの最初2つああなってる所が)な内容です。
ググッて出てきた情報を適当に組み合わせたんでしょうね。
全く雑な仕事です。>数ヶ月前の私

ここは単純にtry_filesで良いのではと思ったので以下のように修正しました。

location /blog {
  try_files $uri $uri/ /blog/index.php?$args;
  #if (!-e $request_filename) {
  #  rewrite ^.+?(/wp-.*) /blog/$1 last;
  #  rewrite ^.+?(/.*\.php)$ /blog/$1 last;
  #  rewrite ^ /blog/index.php last;
  #}
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください