vue路由history模式刷新404问题

这是个老知识点,但也需要简单做个笔记
我们都知道vue路由是利用了Html5的history pushState() 实现了无刷新跳转页面
而打包之后放到线上环境刷新就会404找不到页面
问题在于vue-rouer设置的路径其实并不是一个真实的路径,服务端也并没有与之对应的路径
所以我们看一下 官方解决方案

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;
}

其中在配置Apache的时候遇到一个奇怪的问题,导致服务器跑不起来
解决方法:
#LoadModule rewrite_module modules/mod_rewrite.so
将httpd-conf中这行注释掉就没问题了,配置nginx不存在这个问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。