nginx的try_files索引冲突

我试图用nginx来实现一个设置:

  • 使用index.html作为'/'
  • 清理.htmlurl
  • 如果找不到相应的文件,默认为404

我的服务器块看起来像这样:

server { listen 80; server_name 127.0.0.1; index index.htm; location / { root "static"; try_files $uri.html =404; } } 

现在,访问“/”到404。我尝试了一些常见的解决scheme,如:

 try_files $uri.html $uri/ =404; 

但这些允许'/ page'和'/page.html'作为有效的url,我想避免重复。

有什么build议么?

谢谢,
加布里埃尔

你的root指令有两个问题:

  1. 它使用相对path。 当使用相对path时,它相对于编译到nginx的默认目录。 你知道那是哪一个? 最好指定绝对path。
  2. 这是错误的地方。 root指令应该在server块中指定。 这是最常见的nginx错误configuration之一 。