正常打包vue项目本地都正常运行,但是在打包后放入服务器后,第一次访问网址是正常可以访问,但是如果刷新此页面的情况下就会出现找不到此页面404情况。
这是因为服务器默认配置是显示根目录下面的配置文件,如果你文件夹机没有做配置参数的话,都是找根目录配置的。
解决是以apache服务器环境下,需要配置一下服务器的参数文件(同要适用于放在子目录中的项目)
进入你的项目目录文件夹创建一个.htaccess文件内容,配置内容如下,只有少部份内容需要根据你自己来修改的, 把RewriteRule 后面的参数路径渲染模板换成你真实项目的目录
1 2 3 4 5 6 7 8 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /base/index.html [L] </IfModule> |
/base/index.html这个参数换成你默认渲染的模板路径,假如我是在base目录内放着我的打包好的项目,你需要在base目录创建.htaccess文件名,然后把以下内容复制进去,那么当刷新网址 http://域名/base/* 的时候服务器找的是此文件下面的模板文件渲染,而不会出现找不到此页面情况。
具体你是放在哪个目录你就改此位置即可,如果你是直接在根目录情况下,那么就更简单了,base/直接去掉,文件放在根目录上即可。
以上是我apache环境下的实战总结
另外在nginx上配置一下指定URL下,渲染某个文件夹内的html页面即可,这块暂时还没去用,网上很多类似代码,就不举例了,下次实践过nginx这块在把核心配置代码分享下!