这是我自己写的一个博客应用,在windows下打成war包后放到了虚拟机(操作系统为linux)中的tomcat上运行。
虚拟机的ip为192.168.86.3,我的博客应用名为personal_website_server,因此在浏览器地址栏是这样的:
主页能正常访问,但是富文本编辑器不能正常显示(富文本用的是tinymce),在控制台中查看发现是文件没有获取到:
从错误中可以看出是路径错了,没有加上应用名personal_website_server,即正确的url地址应该为:
http://192.168.86.3:8080/personal_website_server/static/tinymce/langs/zh_CN.js
我的问题就是,为什么前端发给后端的请求的url没有带上我的应用名personal_website_server?
这个问题真是摸不着头脑,主要是这个请求是tinymce的代码中发出的,不是我所能控制的。
懂这个问题的博友请指点指点我,十分感谢。
/***** 问题原因&解决办法 *****/
问题解决了,原因是tinymce的init对象中,把路径写错了(不是我马虎,是网上教程都这样写的):
language_url和skin_url值的第一个字符是"/",其实是指向了网站的根目录。所以在项目运行的时候,上面两个路径实际上的url是如下所示:
http://ip地址:端口号/static/tinymce/langs/zh_CN.js
http://ip地址:端口号/static/tinymce/skins/ui/oxide
如果我将上面的路径修改如下(即去掉开头的"/"):
那么在项目运行的时候,上面两个路径实际上的url就会带上应用名:
http://ip地址:端口号/personal_website_server/static/tinymce/langs/zh_CN.js
http://ip地址:端口号/personal_website_server/static/tinymce/skins/ui/oxide
至于为什么我在本地开发环境运行的时候没有报错,是因为本地运行的时候,根目录就是我所在编辑的项目目录,因此能够正常访问。
tinymce可以配置你中文包的路径的吧,正常应该是在前端包下面的目录去找,https://blog.csdn.net/clli_Chain/article/details/107778680?ops_request_misc=&request_id=&biz_id=102&utm_term=tinymce%E8%AF%B7%E6%B1%82%E5%9C%B0%E5%9D%80&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-107778680.pc_search_result_before_js
tomcat中配置你项目得默认路径,参考下:https://blog.csdn.net/make_a_great_effort/article/details/88762623