ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx try_files

2021-09-13 15:33:55  阅读:172  来源: 互联网

标签:files about uri try Nginx html https test


Nginx try_files

如下所示,当我们有多个HTML文件对应多个URL,想最快把URL中的后缀 .html 去除掉,又不影响其他接口。该怎样做呢?

# 未去掉前
https://test.com/about.html
https://test.com/home.html
https://test.com/fdsagas

# 去掉.html后
https://test.com/about
https://test.com/home


这个时候普通的rewrite做起来就很繁琐,try_files就登场了。Nginx配置如下

location / {
    # 指定nginx查找这个路径下文件 
    root /root/test/ui;
    # 重定向所有.html后缀
    # 重定向前 /about.html -> 重定向后 /about
    if ($request_uri ~ ^/(.*)\.html$) {
    	return 301 /$1;
    }
    # Tries the uri, .html file and the news prefix.
    # 1.$uri -> /about
    # 2.$uri/ -> /about/
    # 3.$uri.html -> /about.html
    # 4./index.html?$args
    # 从第一个开始匹配这个这些文件名 匹配不到就直接返回最有一个文件 /index.html
    try_files $uri $uri/ $uri.html /index.html?$args;
}

无解释配置

location / {
    root /root/test/ui;
    if ($request_uri ~ ^/(.*)\.html$) {
        return 301 /$1;
    }
    try_files $uri $uri/ $uri.html /index.html?$args;
}

标签:files,about,uri,try,Nginx,html,https,test
来源: https://www.cnblogs.com/taozhengquan/p/15262636.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有