vue打包之后的项目在nginx的部署404,以及无法跳转路由问题

这篇具有很好参考价值的文章主要介绍了vue打包之后的项目在nginx的部署404,以及无法跳转路由问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

路径都对,项目路由本地也能正常访问,但是部署后加路由地址404。其实就是nginx配置的问题。知乎上一位大哥的解决办法:vue-cli打包之后的项目在nginx的部署404,以及无法跳转路由问题 - 知乎

问题其实就是路由没有重定向。更简单的配置方式就是try_files $uri $uri/ /index.html;  #定向访问路径

vue打包后路由失效,vue.js,nginx,javascript

 

以下详细说明一下try_files和rewrite区别

try_files 指令用于在 Nginx 中处理请求时尝试多个文件或路径。常见的使用场景是在单页应用程序(SPA)中,将所有请求都指向主页(如 index.html),然后由前端路由进行处理。

以下是一个使用 try_files 指令的示例配置:

nginx
server {
    listen 8082;
    server_name localhost;
    root /path/to/your/static/files; # 指定静态文件的根目录

    location / {
        try_files $uri $uri/ /index.html;
    }
}
在这个配置中:

使用 listen 指令指定要监听的端口。
使用 server_name 指令设置服务器的名称(在此示例中为 localhost)。
使用 root 指令指定静态文件的根目录。你需要将 /path/to/your/static/files 替换为实际的静态文件路径。
在 location / 块中,我们使用 try_files 指令进行请求处理。
$uri 表示原始请求的文件路径。
$uri/ 表示原始请求文件路径加上斜杠后的路径(用于处理目录请求)。
/index.html 表示如果前面的两个路径都不存在,则将请求转发到 index.html 文件。 这样,在单页应用程序中,所有的请求都会被转发到 index.html,然后由前端路由进行处理。
请根据你的实际情况修改配置中的根目录和其他相关参数,以适应你的项目需求。

rewrite 指令用于在 Nginx 中重写 URL。它可以修改客户端请求的 URI,或者将请求重定向到其他位置。

以下是 rewrite 指令的一些常见用法示例:

重写指定路径:

nginx
location /old-path {
    rewrite ^/old-path/(.*)$ /new-path/$1 break;
}
这个配置将把所有 /old-path/ 开头的请求重写到 /new-path/,并将原始路径中的内容保留。

重定向到新的 URL:

nginx
location /redirect-me {
    rewrite ^/redirect-me$ http://example.com/new-location permanent;
}
这个配置将 /redirect-me 路径的请求重定向到 http://example.com/new-location,并使用 permanent 参数表示永久重定向。

使用正则表达式进行 URL 重写:

nginx
location ~ ^/category/([a-z]+)$ {
    rewrite ^/category/([a-z]+)$ /products?category=$1 last;
}
这个配置将匹配 /category/ 后跟小写字母的路径,并将其重写为 /products?category=,后面跟着匹配到的小写字母作为参数。

请注意,以上只是 rewrite 指令的一些基本示例用法。实际应用中,你可能需要根据具体需求使用更复杂的正则表达式模式或结合其他指令来进行重写操作。具体用法取决于你的需求和配置环境。文章来源地址https://www.toymoban.com/news/detail-633830.html

到了这里,关于vue打包之后的项目在nginx的部署404,以及无法跳转路由问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue项目nginx服务器部署刷新页面404错误

    最近想自己做点小项目练手,前端用的是vue框架,用nginx当做服务器来部署。但是当部署完成后,遇到了刷新页面和打开新页面报404错误的问题 问题就像上面描述的一样,刷新页面和打开新页面都是报404错误。 先说最终解决办法,在nginx的配置文件的location中改一下设置方式

    2024年02月17日
    浏览(57)
  • 404 not found nginx(dist打包后,刷新和跳转都是404 not found nginx的问题) 解决方案(打包发布在服务器)

    当我们执行了yarn run build之后,生成dist文件 我们将代码放入nginx-1.24.0下面的html中 然后我们就配置conf文件下的nginx.conf  配置方面不介绍了,主要问题是因为没有加这句话  问题分析 index index.htm index.html; index 就是根目录,也就是只识别“/”结尾的,输入不存在或者刷新页面

    2024年02月08日
    浏览(44)
  • 使用nginx方向代理部署Vue项目刷新页面404的问题解决

    部署出现的问题为:由于项目中使用的vue router 项目直接使用node环境部署项目,在同一个路由如: 192.168.1.30:/home刷新浏览器正常 nginx部署刷新不出现404 /nginx not found 如何解决? 以下是我的想法:似乎是nginx代理使其直接访问文件,而没有使项目的路由生效从而正确加载资源 这

    2024年02月07日
    浏览(56)
  • nginx 部署vue项目,页面白屏或者页面刷新出现404问题

    将vue项目打包部署到nginx上面运行 问题一: 运行时页面白屏。 问题二: 页面可以正常显示,当刷新页面的时候页面报404 错误。 页面白屏分析: 我们可以先查看一下nginx下的 logs/error.log 日志文件,确定我的问题是因为项目打包时候路劲配置问题。 页面404分析 :我们在将

    2024年02月15日
    浏览(41)
  • nginx 部署vue项目,路由模式为history时,页面刷新404问题

    nginx部署vue项目,文件放在html下的dist文件夹中 nginx.conf 文件中,server 里配置文件的位置、请求跨域等信息 在启动项目后因为配置的是root,首先是找不到html下面的sys-test文件夹,再经过配置修改为alias配置后,刷新又会报404错误,最终配置为如下,成功解决 因为打包部署后,

    2023年04月08日
    浏览(56)
  • nginx: 部署前端项目的详细步骤(vue项目build打包+nginx部署)

    目录 第一章 前言 第二章 准备工作 2.1 项目打包理解 2.1.1 打包命令 2.1.2 理解npm run serve/dev 和 npm run build命令 2.2 nginx参数配置理解 2.2.1 nginx常用基本命令 2.2.2 默认配置 2.2.3 搭建不同网站的站点 2.2.4 禁止访问的目录以及一键申请SSL证书验证目录相关设置 2.2.5 根据文件类型设置

    2024年02月04日
    浏览(59)
  • Vue项目如何打包并部署(nginx)

    使用场景: 我们常使用前后端分离项目时,会需要将前端vue打包然后部署。 一.打包 vue项目其实可以直接通过一下语句进行打包: 默认打包情况如下: 当我们需要将打包名称以及静态资源位置进行修改时便需要进行相应的配置: 1.首先在项目根目录下创建vue.config.js文件 配置内容

    2023年04月26日
    浏览(47)
  • Centos7通过nginx+tomcat部署Vue+SpringBoot项目(超详细步骤,从nginx+tomcat安装到Vue+SpringBoot打包配置+nginx.conf)

    目录 一丶前言 二、安装nginx 1.准备nginx 2.服务器上传nginx 3.解压nginx  4.安装相关依赖库 5.编译nginx 6.启动nginx 7.访问nginx  8.安装成系统服务 三、安装Tomcat 1.安装JDK(如果安装并配置环境变量了可以略过) 2.准备Tomcat 3.服务器上传tomcat 4.解压tomcat  5.启动tomcat 6.访问tomcat 7.设置

    2024年02月05日
    浏览(68)
  • 记录使用nginx部署静态资源流程,以及遇到的访问静态资源404问题

    将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署实现 动静分离 ,提高用户访问静态代码的速度,降低对后台应用访问,减轻后台服务器的压力。 这里我选择放在了 html文件夹 下,(也可以放在和html文件夹同级,或其它位置 打开 conf文件夹 打开总配置文

    2024年02月08日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包