千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Try_files指令详解

Try_files指令详解

来源:千锋教育
发布人:xqq
时间: 2023-11-22 09:24:45 1700616285

一、try_files vue

在vue环境下,try_files用于定义Nginx文件系统中查找请求的文件路径和文件类型的优先顺序。


location / {
  try_files $uri $uri/ /index.html;
}

以上代码的意思是,优先查找请求的文件,如果找不到则查找以请求文件名为前缀的目录,最后如果仍然找不到则使用index.html文件作为返回。

Vue cli提供了使用history模式的路由方法,在生产环境中需要配置Nginx才能够使用。具体方法是在Nginx中使用try_files指令。

二、try_files $uri

如果条件比较简单,只是需要返回一个相同的文件,可以使用try_files $uri $uri/代替if语句。


location / {
  try_files $uri $uri/ /index.html;
}

以上代码表示查找请求的文件,如果找不到则查找以请求文件名为前缀的目录,如果仍然找不到则使用index.html文件作为返回。

三、try_files 过滤

使用try_files指令进行过滤文件。将所有文件通过正则表达式过滤,只在目录下查找.html、.css、.js后缀的文件。如果匹配不到则使用index.html。


location / {
  try_files $uri $uri/ /index.html;
}

以下的代码表示只在目录下查找.html、.css、.js后缀的文件,如果匹配不到则使用index.html。


location / {
  try_files $uri $uri/ /index.html;
}

四、try_files react

在React环境下,使用try_files指令来配置Nginx服务器,以实现SPA应用程序的路由管理。


location / {
  try_files $uri /index.html;
}

以上代码意思是,在请求的URL中查找与Nginx服务器中存在的URL匹配的配置文件,如果不存在则从/index.html中返回。这是SPA应用程序的典型配置。

五、try_files 坑

在使用try_files指令时,经常可能会遇到一些问题,下面列出一些可能的坑:

try_files指令只with-try-files可能使用once或multiple参数值 使用/因为会使Nginx子请求开销很高,因此需要使用if或map模块 不要使用try_files指令处理PHP或Fastcgi应用程序,因为这会导致PHP/Fastcgi subprocess的开销

由于Nginx有很多的if语句,但是if过于复杂或嵌套太多,否则会降低性能。

tags: try_files
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT