在上线Vue开发的前端网页上线后,刷新页面报404错误,因为网页上显示的是静态绝对路径,实际上这个地址只是Vue的内部路径(Vue的前端路由模式使用了history模式),服务器上是没有这个路径的,所以刷新会报错误。解决办法,把服务器的url解析重定向到index.html的首页里面即可。
Apache:
添加 .htaccess
文件到和index.html同一级目录下,编译后这个文件会直接复制到dist目录,部署时和dist目录里的其他文件一起部署到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
nginx无法像Apache那样直接创建一个文件来解决,得修改Nginx的网站配置。将 try_files 那一行代码加到网站的配置里即可:
location / {
#.... 网站的其他配置 ...
try_files $uri $uri/ /index.html;
}
网友评论