前言
今天下午同事在部署一个Vue的前端项目的时候,配置过程中遇到了Vue项目一直404的问题。遇到这种情况,怎么能少得了我呢。
初探
在同事跟诉苦之后,我第一反应当然是询问是否开启了History模式,同事答曰是,我立马甩了这篇文章给他Vue项目开启History模式后404的解决方案。经我排查,同事的配置文件中果然没有对Vue
的History模式做特殊的处理。于是我按照给他的文章中的解决方案(Apache
版)更改了配置文件,添加了如下配置片段:
你以为这就结束了吗?事实上我也是这么认为的。可是只有访问http://example.com/example
的时候是能正确访问的,当访问http://example.com/example/action
的时候就会一直出现404。
再探
经过反复检查,十分确定Alias
部分和Directory
的权限设置没有问题之后,把目标锁定到了FallbackResource
。细心阅读Apache2官方文档FallbackResource说明部分后发现了问题的关键:
我翻译一下,大致意思就是如果是子路由使用FallbackResource
的话,需要如图中一样使用。比如我们这里需要用到的是example
子URI
,那么我们的FallbackResource
则应该为/example/index.html
。终于真相大白,下面给出最终配置:
这件事到这总算告一段落了。
Happy Ending
这件事告诉了我一个道理,不是Apache
垃圾,而是我没有用心去读官方文档。不过总的来说,Apache
的坑似乎是要比Nginx
多上一些,或者说有入门门槛。不说了,我要去恶补文档去了。
这篇文章到这就结束啦,感谢大家的阅读。希望大家能从这篇文章中得到帮助。如果你对这篇文章有任何意见或建议,都欢迎给我发送邮件,优质的文章离不开读者的反馈。