apache和nginx下vue页面刷新404的解决方案

作者:对这是我的昵称 时间:2024-04-26 17:37:16 

问题描述

记录一个新手很容易遇见的问题,vue的项目,在打包前本地cli模式运行没有任何问题,但是打包完在apache或者nginx中配置了域名后,项目会出现刷新后404的奇怪问题

原因

vue-router的mode使用了history模式,默认应该是hash模式。

一般都会因为hash模式的url不够美观,都用的history模式,而问题是由于history模式引起的。

history模式下的url并不是真实存在的,所以刷新后会找不到。

当你打包了项目后,一般默认会生成一个dist文件夹,文件夹下有且只有一个index.html文件。

apache和nginx下vue页面刷新404的解决方案

并且vue是单页应用,因此我们可以认为所有的url路径其实都应该指向index.html的,至于路径vue会用独有的路由解析方式把他解析到对应的js文件,然后js把文件中的html模块渲染到index,html中,实现页面的展示,所以不要被路径所迷惑,

你可以把url路径理解为vue匹配页面所需要的参数,但是这个url路径如果你直接访问或者刷新,不管是apache还是nginx都无法去匹配到这个url路径,因为它不存在,所以我们此时就要在apache或者nginx配置一下伪静态,让每个url路径都指向index.html就可以了。

伪静态配置

apache伪静态配置

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.html$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.html [L]

</IfModule>

nginx伪静态配置

location / {
            ......

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

来源:https://blog.csdn.net/Attitude_do_it/article/details/122682416

标签:apache,nginx,vue,页面刷新,404
0
投稿

猜你喜欢

  • python并发2之使用asyncio处理并发

    2022-01-11 23:41:28
  • python得到windows自启动列表的方法

    2023-12-18 14:49:13
  • Python实现将目录中TXT合并成一个大TXT文件的方法

    2023-02-11 18:38:12
  • js实现简单选项卡功能

    2024-04-22 13:05:47
  • 详解Go多协程并发环境下的错误处理

    2024-02-15 21:11:59
  • Python 一篇文章看懂时间日期对象

    2022-12-23 04:29:14
  • 浅谈购物类网站如何保持视觉设计的一致性

    2009-03-30 16:02:00
  • SQL查询语句执行的过程

    2024-01-22 21:51:02
  • python实现大战外星人小游戏实例代码

    2023-09-23 17:18:56
  • 判断触发器正在处理的是插入,删除还是更新触发

    2024-01-19 02:03:28
  • ASP解析JSON

    2009-12-25 16:34:00
  • 详解mysql 组合查询

    2024-01-20 10:43:06
  • Ajax学习小贴士

    2007-10-24 23:21:00
  • 对Python 文件夹遍历和文件查找的实例讲解

    2021-11-05 22:29:25
  • 分别使用vue和Android实现长按券码复制功能

    2023-10-29 23:20:11
  • python3实现将json对象存入Redis以及数据的导入导出

    2022-05-05 16:31:27
  • Python利用psutil实现获取硬件,网络和进程信息

    2023-08-12 18:37:44
  • Pytorch搭建SRGAN平台提升图片超分辨率

    2022-10-03 14:02:01
  • sqlserver复制数据库的方法步骤(图文)

    2024-01-17 05:00:34
  • 记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制

    2010-04-07 22:35:00
  • asp之家 网络编程 m.aspxhome.com