如何让 nginx `try_files` 仅提供非 .html 版本?

如何让 nginx `try_files` 仅提供非 .html 版本?

根据这个答案,指令:

try_files $uri.html $uri/ =404;

应该这样做

仅提供一份资源副本(没有 .html 扩展名)

但是,我的配置中有这个指令:

 server {
  listen 443 ssl default_server;
  listen [::]:443 ssl;

  server_name waynewerner.com www.waynewerner.com;

  ssl_certificate       /etc/letsencrypt/live/www.waynewerner.com/fullchain.pem;
  ssl_certificate_key   /etc/letsencrypt/live/www.waynewerner.com/privkey.pem;

  index index.html;
  root /var/www/waynewerner.com/site/;
  try_files $uri.html $uri/ =404;

  location ^~ /blog {
    alias /usr/share/blog/output;
    break;
  }

  location /.well-known {
    allow all;
    root /var/www/;
  }

  location /.hg {
    deny all;
    return 404;
  }
}

但你会注意到你可以同时去这两个地方:

(至少它们在我的 Google Chrome 地址栏中是这么显示的)。

这是需要担心的事情吗,或者 Nginx 正在做正确的事情?

相关内容