这是我自己写的一个博客应用,在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
至于为什么我在本地开发环境运行的时候没有报错,是因为本地运行的时候,根目录就是我所在编辑的项目目录,因此能够正常访问。