nginx-精准匹配首页

核心配置如下(修改前,未生效)

location = / {
    root  /opt/www/static/;
    index index.html;
}
location / {
    root /opt/www/resource/;
}

当访问首页时,仍然匹配/opt/www/resource/

修改后(可以精准匹配首页)

location = / {
    root  /opt/www/static/;
    #index index.html;
    try_files /index.html =404;
}
location / {
    root /opt/www/resource/;
}

问题原因

当访问/时,nginx内部发生重定向,重定向至/index.html,所以= /未生效,添加try_files /index.html =404;取消触发内部重定向。

补充

在我的项目中,首页是一个单独的目录,其他页面是另一个目录,经过以上配置后,首页的index.html访问无问题,但是首页用到的图片、js等静态资源仍然无法正常访问,因为这些静态资源被认为在/opt/www/resource/;目录下,所以需要对首页的静态资源单独处理。

所有配置如下

# 首页
location = / {
    root  /opt/www/static/;
    #index index.html;
    try_files /index.html =404;
}
# 首页图片
location ^~ /ssr-assets/ {
    root  /opt/www/static/;
}
# 首页js
location ^~ /_next/ {
    root  /opt/www/static/;
}
# 其他
location / {
    root /opt/www/resource/;
}
``
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,710评论 6 152
  • 一、HTTP协议 1. GET和POST的请求的区别 无论是POST还是GET请求,都是基于**超文本传输协议**...
    樱花树下阅读 3,529评论 0 0
  • 目录 1 Nginx概述 2 使用 3 反向代理 4 负载均衡 5 重写 6 Nginx的其他用法 ...
    小小千千阅读 3,707评论 0 0
  • Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不...
    我科绝伦阅读 3,635评论 0 1
  • [TOC] 简介 nginx [engine x] is an HTTP and reverse proxy se...
    Whyn阅读 3,940评论 0 1

友情链接更多精彩内容