404 Not Found(nginx)

news2024/10/6 21:36:18
    #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.coloradmin.cn/o/1868478.html

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

相关文章

鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一

一、鸿蒙开发环境搭建 DevEco Studio安装 下载 访问官网&#xff1a;https://developer.huawei.com/consumer/cn/deveco-studio/选择操作系统版本后并注册登录华为账号既可下载安装包 安装 建议&#xff1a;软件和依赖安装目录不要使用中文字符软件安装包下载完成后&#xff0…

Java网络编程(JavaWeb的基础)

Java网络编程&#xff08;JavaWeb的基础&#xff09; 文章目录 Java网络编程&#xff08;JavaWeb的基础&#xff09;前言一、网络编程概述1.1 软件架构&网络基础1.2 网络通信要素:IP/端口/通信协议1.3 传输层协议:tcp/udp 二、网络编程API2.1 InetAddress类2.2 Socket类&am…

收银系统开源源码-千呼新零售2.0【打折促销】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

操作系统——考研笔记(一)操作系统概述

目录 操作系统引言一、 操作系统概述1.1 操作系统的功能和目标1.2 操作系统的特征1.2.1 并发1.2.2 共享1.2.3 并发和共享的关系1.2.4 虚拟1.2.5 异步1.2.6 知识回顾与重要考点 1.3 操作系统的发展与分类1.3.1 手工操作阶段1.3.2 批处理阶段——单道批处理系统1.3.3 批处理阶段—…

2024年最佳软件测试工具40强清单(非常详细)零基础入门到精通,收藏这一篇就够了

什么是测试工具 软件测试工具是指那些支持从计划、需求收集、构建创建、测试执行、缺陷记录到测试分析等各种测试活动的产品。这些工具主要用于检测软件的稳定性、彻底性以及其他性能参数。 市场上有大量的软件测试工具&#xff0c;众多选择使得难以确定最适合你项目的测试工…

项目开发 TCP-Socket连接功能实现(Android端)

前段时间在公司做项目的时候遇到了一个功能需要使用TCP-Socket连接硬件设备进行通信&#xff0c;查了很多资料也只是关于HTTP-Socket相关的&#xff0c;没法满足项目的要求&#xff0c;后来查到一个相关的插件&#xff0c;现在有时间和大家分享一下。 项目简单介绍&#xff1a…

python AI全栈工程师

python AI全栈工程师 前端&#xff1a;Streamlit Streamlit是一个开源的Python库&#xff0c;专为数据科学家和机器学习工程师设计&#xff0c;用于快速构建交互式用户界面。Streamlit功能强大、易于使用&#xff0c;特别适合数据科学家和机器学习工程师快速构建和部署交互式数…

状态机模型——AcWing 1057. 股票买卖 IV

状态机模型 定义 动态规划中的算法状态机模型是一种用于描述算法执行过程中状态变化的模型。它由状态、事件、动作和转移组成。状态表示算法在某个时刻所处的情况&#xff0c;事件是导致状态发生变化的原因&#xff0c;动作是在状态变化时执行的操作&#xff0c;转移则定义了…

1.2 离散LTI系统的时域分析

目录 离散系统的定义 离散LTI系统的时域描述h[k] 离散系统的分类 线性与非线性系统 时变与非时变系统 因果与非因果系统 稳定与不稳定系统 例题 LTI——Linear and Time-invariant System 线性时不变系统 离散系统的定义 离散LTI系统的时域描述h[k] 离散系统的…

关于“刘亦菲为什么无人敢娶”的问题❗❗❗

关于“刘亦菲为什么无人敢娶”的问题&#xff0c; 实际上涉及到多个方面的因素&#xff0c; 以下是对这些因素的详细分析&#xff1a;1.事业心重&#xff1a;刘亦菲作为华语影视圈的知名女星&#xff0c;她的演艺事业非常成功&#xff0c; 这也意味着她将大量的时间和精力投…

深圳网页设计收费情况

深圳是中国最具活力和发展速度最快的城市之一&#xff0c;随着经济的快速发展&#xff0c;各种行业都飞速发展&#xff0c;尤其是互联网行业。网页设计是互联网行业的重要组成部分&#xff0c;深圳的网页设计师数量也是非常庞大的。那么&#xff0c;深圳网页设计师的收费情况是…

HarmonyOS ArkUi Tabs+TabContent+List实现tab吸顶功能

Demo效果 Entry Component struct StickyNestedScroll {State message: string Hello WorldState arr: number[] []scroller new Scroller()StyleslistCard() {.backgroundColor(Color.White).height(72).width("100%").borderRadius(12)}build() {Scroll(this.sc…

Java 项目的构建工具 Maven

Maven 一、Maven 简介二、Maven 安装配置1、Maven 下载安装2、Maven 配置 三、IDEA 集成 Maven四、Maven 依赖管理1、依赖配置2、依赖传递3、依赖范围4、生命周期 五、Maven 高级特性1、分模块设计与开发2、Maven 继承3、Maven 版本管理4、Maven 聚合5、私服 一、Maven 简介 M…

[Centos7] 部署Zabbix5.0

目录 0 卸载 Zabbix1 准备工作1.1 关闭防火墙1.2 关闭SELinux1.3 重启服务器1.4 安装MySQL 2 配置 Zabbix yum 源2.1 安装zabbix的软件仓库配置包2.2 安装 Software Collections 仓库2.3 修改 Zabbix 仓库配置文件 3 安装 Zabbix3.1 遇到报错Requires: libmysqlclient.so.183.2…

Verilog进行结构描述(二):Verilog基本单元(primitives)

目录 1.Verilog基本单元2.基本单元的引脚 (pin)的可扩展性3.带条件的基本单元4.基本单元实例化 微信公众号获取更多FPGA相关源码&#xff1a; 1.Verilog基本单元 Verilog基本单元提供基本的逻辑功能&#xff0c;也就是说这些逻辑功能是预定义的&#xff0c;用户不需要再定义…

爬虫-Python基础

一、Python环境的安装 1. 下载Python 访问Python官网: Welcome to Python.org点击downloads按钮&#xff0c;在下拉框中选择系统类型(windows/Mac OS/Linux等)选择下载最新版本的Python 2. 安装Python 双击下载好的Python安装包勾选左下角 Add Python 3.7 to PATH 选项&…

超声波清洗机对眼镜有伤害吗?四大顶尖优品公认力作!

超声波清洗机利用超声波在液体中产生的微小气泡爆炸&#xff0c;产生强大的冲击力&#xff0c;能够深入物品的各个角落&#xff0c;有效去除油污、灰尘和细菌。与传统的手工清洗相比&#xff0c;不仅清洁效率高&#xff0c;而且能够保护眼镜不受损伤&#xff0c;特别适合清洗眼…

我国氮化硼市场规模逐渐扩大 市场集中度有望不断提升

我国氮化硼市场规模逐渐扩大 市场集中度有望不断提升 氮化硼&#xff08;BN&#xff09;俗称为白石墨&#xff0c;是由硼原子和氮原子所构成的一种晶体材料&#xff0c;在常温条件下多表现为一种棕色或暗红色晶体。氮化硼具有导热性好、硬度大、熔点高、抗化学侵蚀性等优点&…

室内蓝牙导航定位技术独特的优势

随着科技的飞速发展&#xff0c;人们对定位服务的需求已经从室外扩展到了室内。传统的GPS定位技术在室外环境中表现出色&#xff0c;但在室内环境下&#xff0c;由于信号受到建筑物结构的遮挡和干扰&#xff0c;其定位效果大打折扣。因此&#xff0c;室内定位技术应运而生&…

阿贝云免费虚拟主机与免费云服务器评测

阿贝云作为一家知名的云服务提供商&#xff0c;其免费虚拟主机和免费云服务器备受用户青睐。免费虚拟主机提供了大量的资源和功能&#xff0c;在网站建设和运营中发挥了重要作用。用户可以轻松地搭建自己的网站&#xff0c;并享受稳定的服务。免费云服务器则为用户提供了更强大…