Nginx服务部署Vue项目后刷新页面,出现404问题--如何解决呢?
下文笔者讲述nginx部署vue页面时,当刷新页面时,出现404页面的设置方法分享,如下所示:
由于需要去掉URL中的'#'号
需使用'history'路由模式,故再次部署线上环境后
首页能正常访问,菜单内点击切换也没有问题
当刷新页面后,则出现 404 Not Found 下文将讲述具体的实现方法,如下所示:
环境描述 vue-cli 3.x nginx由于项目之前vue-router使用默认'hash'模式,在本地与部署线上环境后都没有问题
由于需要去掉URL中的'#'号
需使用'history'路由模式,故再次部署线上环境后
首页能正常访问,菜单内点击切换也没有问题
当刷新页面后,则出现 404 Not Found 下文将讲述具体的实现方法,如下所示:
刷新页面的原理: 刷新页面会访问服务器资源,但是服务器中nginx下其实没有指定的信息,所以才出现404 此时我们需将url的信息转到vue-router中进行转发,才能正常的访问页面例:
nginx 根目录: /www/dist,但是下面没有system/index页面这个目录,它是由vue转发 此时我们需在nginx进行相关设置 --------------------------------------------------------------------------------------- 例: nginx.conf server { listen 80; server_name testwx.wangshibo.com; index index.php index.html index.htm default.php default.htm default.html; root /www/dist; #vue-router配置 location / { try_files $uri $uri/ @router; index index.html; } location @router { rewrite ^.*$ /index.html last; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。