LoginSignup
1
1

More than 5 years have passed since last update.

Pow で特定の URL だけ 404 になる理由

Posted at

Nginx + Unicorn では問題ないのに、Pow を使っている開発環境だけ特定の URL で 404 Not Found を返すことがあり困っていました。

原因

Pow は public という名前のディレクトリを静的なパスだと解釈するようで、そこにファイルが存在する場合そちらを優先して表示するようです。

現象

例えば、 /admin/comments という URL があるとします。もしアプリケーションの /public ディレクトリに admin/comments/ という名前のディレクトリが存在したら、アプリケーションがリクエストを処理するよりも先に Pow がこの URL は静的ファイルへのアクセスだと解釈し、 /public/admin/comments/index.html というパスのファイルを表示しようとするものの、このディレクトリには index.html という名前のファイルが存在しないため 404 Not Found を返します。

Sinatra ベースの CMS Lokka を使用していてこのような現象に遭遇しました。

対策

対策としては、テンプレートのパスと URL がダブらないようなディレクトリ構成にするしかないと思います。

参考リンク

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1