手机版

解决将vue项目部署到Apache服务器时遇到的问题

时间:2021-08-30 来源:互联网 编辑:宝哥软件园 浏览:

最近我们的一个项目从原来的jsp模式重组到前端分离,前端选择是vue。开发完成后第一时间部署测试,服务器是Apache。原本以为是一件很简单的事情,经过两天的粗略部署才可以正常参观。第一条记录如下:

该流程构建了Apache环境。构建vue项目后,将生成的dist文件放在Apache下。启动Apache后,我以为可以正常访问。

前提:vue项目路线模型:history默认不会出现以下问题,因为个人觉得在项目路径中带一个#真的不舒服

但是,发现了以下错误:

无法正常访问,我报了一堆404。接触vue项目时间短,看起来很迷惑,于是百度看了以下内容(将vue项目部署到Apache404时出错),发现解决方案很多,最常见的就是添加。我也在网上操作它。重复更改无效。当然有可能是我配置错了,但是我的反正也没有解决。

于是我改变了主意,重新搜索。我看到另一篇文章:https://www.cnblogs.com/xyyt/p/7718867.html开了一点,我的正常配置如下:

无非是去掉多余的路由信息,尝试以下异常修改:

尝试重新构建并发布到Apache。奇迹发生了。没问题。一切正常。当然,我觉得我的修改方法不太合适。找不到合适的方式时,只能暂时修改。根据上述修改,可以正常访问所有路径

vue项目被部署到服务器的空白页

当路由跳转时,使用mode :“history”删除#号,并将其放入服务器的crm目录中。根据www.asa.com/crm路径访问时,会出现无法访问资源、空白页和搜索问题。模式:“历史记录”和基地3360“/客户关系管理/”被添加到路由配置文件中。然后所有的资源都获取加载了,但是页面还是空白没有渲染(这个问题好像和问题1一样,当时没有记录,现在回忆起来有点模糊),通过后端配置解决了问题。页面渲染成功,每次跳转页面都正常,但是有一个问题,刷新当前页面会出现404,因为只有一个index.html文件,url中的路由跳转都是vue-router进行的。实际文件中没有login.html等文件,服务器在查找这些页面时找不到404错误,需要配置后端服务器跳转到index.html解决。如果无事可做,就会想到问题3,如何配置后端,一次就实现了。以mac内置的apache为例,在mac下的apache安装路径/private/etc/apache 2/httpd . conf中进行配置,开启rewrite_module函数(Apache配置文件)。

load module rewrite _ module lib exec/Apache 2/mod _ rewrite . so,删除前面的#;

document root '/user/Dev/Sites '(设置apache默认指向目录)Directory '/user/Dev/Sites '选项索引遵循符号链接多视图多视图匹配任何allowoverride all要求所有已授予/目录设置AllowOverride All是为了使apache支持。hatccess文件。

*添加。项目根目录中的hatccess文件(index.html级),类似于https://router.vuejs.org/zh-cn/essentials/history-mode.html's' html 5 history模式(vue-router文档示例)。

ifmodule mod _ rewrite . cruriteenengine on ewritebase/CRM/rewriter ule ^index\.html $-[L]Rewrite cond % { REQUEST _ FILENAME }!-FreWriteCond % { REQUEST _ FILENAME }!-drewriterrule。/CRM/index.html [l]/ifmodule,两处需要修改,重写base/CRM/;

重写规则。/crm/index.html [L],要添加项目的文件的文件名,

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:解决将vue项目部署到Apache服务器时遇到的问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。