Nginx の location ディレクティブでハマったので、メモ。
こんな設定を書いた。
server {
listen 80;
server_name myserver.com;
root /var/redmine/public;
location / {
passenger_enabled on;
}
location /bookmarklet {
root /var/redmine/www;
index index.html index.htm;
}
}
http://myserver.com/ で Redmine を公開。Redmine 用のブックマークレットを書いたので、 http://myserver.com/bookmarklet/ でブックマークレット用ページにアクセスさせようというもの。
ところが、上記 URL にアクセスしても 404 Not Found のエラーが出るばかり。問題はウェブ・ページの置き場所にあった。
- (誤)
/var/redmine/www/index.html
- (正)
/var/redmine/www/bookmarklet/index.html
ファイルを置く場所は root で指定した場所だと思っていたのだけど、その下に location で指定したディレクトリーを作らないといけないのね。ハマッた、ハマッた。これからも同じ失敗をしそうなのでメモ。
それにしても、何でこうなるのか? 直感的じゃないなぁ。
助かりました、ありがとうございます!
ReplyDelete