404 Not Found(nginx)

    #vue-router history 配置location / {add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Headers' '*';add_header 'Cross-Origin-Embedder-Policy' 'require-corp';add_header 'Cross-Origin-Opener-Policy' 'same-origin';try_files $uri $uri/ @router;index index.html;}location @router {rewrite ^.*$ /index.html last;}

这段代码是Nginx的配置,主要用于处理与Vue.js应用(特别是使用Vue Router的SPA,即单页应用)的路由相关的请求。

  1. location / { ... }:

    • 这是一个Nginx的location块,它定义了当请求的URI与/(根目录或根路径)匹配时,Nginx应该如何处理这些请求。
  2. add_header ...:

    • 这些指令用于向HTTP响应头中添加或修改头部字段。
      • 'Access-Control-Allow-Origin' '*': 这允许任何源(域名、协议或端口)来访问这个资源。但是,通常在实际部署中,出于安全考虑,你会限制这个值到特定的源。
      • 'Access-Control-Allow-Headers' '*': 这允许跨域请求包含任何头部字段。但同样,为了安全,你可能希望限制这个值到特定的头部字段。
      • 'Cross-Origin-Embedder-Policy' 'require-corp': 这是一个新的安全策略,它要求跨域资源只能被同源的<iframe><embed><object><applet><webview>等元素嵌入。
      • 'Cross-Origin-Opener-Policy' 'same-origin': 这也是一个新的安全策略,它限制了哪些文档可以通过window.open()window.parentwindow.top等属性或方法来访问其他窗口。设置此值为same-origin意味着只能同源的窗口可以相互访问。
  3. try_files uriuri/ @router;:

    • try_files指令会按顺序检查文件是否存在,并返回找到的第一个文件。
      • $uri: 首先,它会尝试直接提供请求的URI所对应的文件(如/path/to/file.js)。
      • $uri/: 如果直接的文件没有找到,它会尝试查找该URI对应的目录(并默认返回index.html,但由于下面的index指令,它可能不会这样做)。
      • @router: 如果以上两个都没有找到,Nginx将执行名为@routerlocation块中的指令。
  4. index index.html;:

    • 当请求一个目录时,而不是一个特定的文件时,Nginx会默认返回index.html文件。但在这个配置中,由于try_files指令,它可能不会经常执行。
  5. location @router { ... }:

    • 这是一个名为@router的命名location块。它只会被try_files指令引用。
    • rewrite ^.*$ /index.html last;:
      • 这是一个rewrite指令,它将所有请求(^.*$是一个匹配任何字符串的正则表达式)重写为/index.html
      • last标志意味着在重写后,Nginx将重新搜索与新的URI匹配的location块。但由于我们已经处于@router块中,并且没有其他与/index.html匹配的location块,所以Nginx将直接返回/index.html文件。

总结:这个配置是为了确保所有的前端路由(包括那些不存在的路径)都能正确地返回Vue应用的index.html文件。这是单页应用的标准配置,因为单页应用依赖于客户端的路由(即Vue Router)来导航不同的“页面”,而不是由服务器为每个“页面”提供不同的HTML文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36160.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防勒索病毒的十种方案

勒索病毒&#xff08;Ransomware&#xff09;是一种恶意软件&#xff0c;它通过加密受害者的数据来阻止用户访问其电脑系统或个人文件&#xff0c;并要求支付赎金以换取解密密钥。这种类型的恶意软件通常通过钓鱼电子邮件、恶意广告或利用软件漏洞传播。 勒索病毒的主要特点包…

unity里鼠标位置是否在物体上。

1. 使用Raycast 如果你的图片是在UI Canvas上&#xff0c;可以使用Raycast来检测鼠标点击是否在图片上。 using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class ImageClickChecker : MonoBehaviour { public Image targetImage; voi…

展厅设计装修公司应该具备的基本条件

1、成立的年限 成立年限越长的公司代表其展厅设计行业经验越丰富&#xff0c;在选择设计装修公司的时候一定要选择有充足经验的设计装修公司。资质好的设计装修公司&#xff0c;必定为大型的展览会做过设计装修。这样就不会在展会的设计装修上产生太多的成本问题&#xff0c;能…

基于jeecgboot-vue3的Flowable流程-加签功能

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、加签功能对话框代码 这里注意vue3与vue2不同的地方&#xff0c;需要v-model:value&#xff0c;否则获取有问题。 <j-select-user-by-dept class"userSelect" v-model:va…

应急响应靶机-Linux(1)

前言 本次应急响应靶机采用的是知攻善防实验室的Linux-1应急响应靶机 靶机下载地址为&#xff1a; https://pan.quark.cn/s/4b6dffd0c51a 相关账户密码&#xff1a; defend/defend root/defend 解题 第一题-攻击者的IP地址 先找到的三个flag&#xff0c;最后才找的ip地址 所…

仓颉语言与C语言互操作

为了兼容已有的生态&#xff0c;仓颉支持调用 C 语言的函数&#xff0c;也支持 C 语言调用仓颉的函数。 一、仓颉调用 C 的函数 在仓颉中要调用 C 的函数&#xff0c;需要在仓颉语言中用 C 和 foreign 关键字声明这个函数&#xff0c;但 C 在修饰 foreign 声明的时候&#xf…

成都百洲文化传媒有限公司专业电商服务的典范

在电商风起云涌的时代&#xff0c;成都百洲文化传媒有限公司凭借其深厚的行业经验和独特的创新思维&#xff0c;成为了众多品牌电商之路上的得力助手。今天&#xff0c;就让我们一起走进成都百洲文化传媒&#xff0c;看看他们是如何在电商领域乘风破浪&#xff0c;助力品牌实现…

个人博客文章目录索引(持续更新中...)

文章目录 一、Java基础二、Java相关三、MySql基础四、Mybatis基础及源码五、MybatisPlus基础六、Spring基础及源码七、Tomcat源码八、SpringMVC基础及源码 随着文章数量多起来&#xff0c;每次着急翻找半天&#xff0c;而是新申请的域名下来了&#xff0c;决定整理下最近几年的…

产品中心|高效能双处理器Xilinx FPGA 4通道射频收发板卡

1、产品概述 基于Xilinx XC7K325T芯片的4通道射频收发板卡&#xff0c;搭载高能效Cortex-A8内核处理器、1组16bit/2GB DDR3及1组4GB DDR3、 1组2GB Nand Flash、1路USB接口、4路高速ADC、4路高速DAC&#xff0c;支持外触发&#xff0c;外时钟。用于FPGA程序加载板卡工作温度范…

模拟题解析:

《互联网域名管理办法》第41条规定&#xff0c;域名根服务器运行机构、域名注册管理机构和域名注册服务机构应当遵守国家相关法律、法规和标准&#xff0c;落实网络与信息安全保障措施&#xff0c;配置必要的网络通信应急设备&#xff0c;建立健全网络与信息安全监测技术手段和…

springboot项目requestId设置、统一responsebody封装以及切面

利用filter设置requestId import cn.hutool.core.lang.UUID; import lombok.extern.slf4j.Slf4j; import org.slf4j.MDC; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.s…

python实现http接口请求并解析json格式数据

在Python项目开发中&#xff0c;如果需要与其他服务进行接口调用&#xff0c;可以使用requests库来发送HTTP请求&#xff0c;并使用json库来解析JSON响应。以下是如何实现一个HTTP接口请求并解析JSON响应的步骤&#xff1a; 步骤一&#xff1a;安装requests库 如果还没有安装r…

【云原生】使用Kubectl工具详细讲解+管理集群

Kubernetes资源控制管理 文章目录 Kubernetes资源控制管理一、案例概述二、案例前置知识点2.1、Kubectl命令工具基础命令部署命令集群管理命令故障诊断和调试命令高级命令设置命令其他命令 2.2、资源清单2.2.1、名称空间级别2.2.2、集群级别2.2.3、元数据级别 2.3、资源清单常用…

8.12 矢量图层面要素单一符号使用八(形状炸裂填充)

文章目录 前言形状炸裂填充&#xff08;Shapeburst fill&#xff09;QGis设置面符号为形状炸裂填充&#xff08;Shapeburst fill&#xff09;二次开发代码实现形状炸裂填充&#xff08;Shapeburst fill&#xff09; 总结 前言 本章介绍矢量图层线要素单一符号中使用形状炸裂填…

观测云产品更新 | Pipelines、智能监控、日志数据访问等

观测云更新 Pipelines 1、Pipelines&#xff1a;支持选择中心 Pipeline 执行脚本。 2、付费计划与账单&#xff1a;新增中心 Pipeline 计费项&#xff0c;统计所有命中中心 Pipeline 处理的原始日志的数据大小。 监控 1、通知对象管理&#xff1a;新增权限控制。配置操作权…

MySQL:某个ip连接mysql失败次数过多,导致ip锁定

1 问题说明 Host is blocked because of many connection errors&#xff1b; unblock with ‘mysqladmin flush-hosts‘ 某个ip连接mysql失败次数过多&#xff0c;然后mysql这边自带的保护机制就将ip进行了封禁。这个时候有两个解决方法 &#xff08;1&#xff09;修改配置…

制造业“智改数转”背景下,产品经理考取NPDP证书的重要性

在“智改数转”&#xff08;智能化改造和数字化转型&#xff09;已成为推动制造业高质量发展的关键路径背景下&#xff0c;作为连接市场需求与产品实现的关键角色&#xff0c;产品经理的角色愈发重要。而考取NPDP&#xff08;新产品开发专业人士认证&#xff09;证书&#xff0…

Python 高级实战:基于自然语言处理的情感分析系统

前言 在大数据和人工智能迅猛发展的今天&#xff0c;自然语言处理&#xff08;NLP&#xff09;作为人工智能的重要分支&#xff0c;已经深入到我们的日常生活和工作中。情感分析作为NLP中的一个重要应用&#xff0c;广泛应用于市场分析、舆情监控和客户反馈等领域。本文将讲述…

【ai】mocap:conda 安装python3.8+ cuda+ pytorch+torchaudio、torchvision

MotionCapubuntu 18.04不知道为啥会依赖于ffmpeg 、xorg 渲染?安装pytorch就是会带上cuda cudnn 啥的pytorch【ai】tx2 nx :安装torch、torchvision for yolov5 这里就发现 pytorch和torchvision有依赖关系的,还涉及到rapidjson所以python的环境隔离很重要。核心库 - cudato…

2024年8月 PMP认证考试 7月9日正式开始报考

尊敬的各位考生&#xff1a; 经PMI和中国国际人才交流基金会研究决定&#xff0c;中国大陆地区2024年第三期PMI认证考试定于8月31日举办。 7月9日正式开始中文报考&#xff0c;在此之前需要完成英文资料注册&#xff0c;如果您想参加8月考试&#xff0c;还有最后10天报名即截止…