Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JBOSS中发布时出现问题,指向文件(图像、子页面)的链接(带有无效路径)HTML重定向到/而不是应用程序_Javascript_Html_Jboss_Wildfly_Jboss7.x - Fatal编程技术网

Javascript 在JBOSS中发布时出现问题,指向文件(图像、子页面)的链接(带有无效路径)HTML重定向到/而不是应用程序

Javascript 在JBOSS中发布时出现问题,指向文件(图像、子页面)的链接(带有无效路径)HTML重定向到/而不是应用程序,javascript,html,jboss,wildfly,jboss7.x,Javascript,Html,Jboss,Wildfly,Jboss7.x,我得到了一个EAR文件,我尝试部署,它部署得很好,没有错误。问题如下: 所有ccs文件、图像、文件等都使用HTML文件中的绝对路径(HTML文件是通过外部程序生成的,因此不能选择更改相对路径),因此无法加载样式,指向其他页面的链接无法工作,等等 澄清的一个例子: 我在“localhost:8080/app”中部署了ear,加载index.html文件,但在该文件中,我尝试使用指向page2.html的链接,路径是localhost:8080/page2.html,而不是“localhost:80

我得到了一个EAR文件,我尝试部署,它部署得很好,没有错误。问题如下:

所有ccs文件、图像、文件等都使用HTML文件中的绝对路径(HTML文件是通过外部程序生成的,因此不能选择更改相对路径),因此无法加载样式,指向其他页面的链接无法工作,等等

澄清的一个例子:

我在“localhost:8080/app”中部署了ear,加载index.html文件,但在该文件中,我尝试使用指向page2.html的链接,路径是localhost:8080/page2.html,而不是“localhost:8080/app/page2.html”

浏览器显示“无法加载页面”

如何在不将路径更改为相对路径的情况下修复此问题?我在war文件中有application.xml的上下文根和web.xml的欢迎文件以及index.html

结构如下:

file.ear meta-inf file.war web inf index.html css文件夹 pageX.html

我请求帮助


提前感谢。

将应用程序部署为ROOT.war


如果您一直看到服务器欢迎页面,您可能还需要调整服务器配置以允许此操作。首先,您需要了解文件系统在web中的工作方式

<link rel="stylesheet" href="slick.css"> // file present in same folder
<link rel="stylesheet" href="css/slick-theme.css"> // file present in css folder of current folder
<link rel="stylesheet" href="/css/slick-theme.css"> // file present in the css folder at the root directory of the current web
<link rel="stylesheet" href="../slick-theme.css"> // file present at one level up the current folder
2) 在服务器级别更改配置,删除默认内容映射,尝试查找

<location name="/" handler="welcome-content"/>

(在jboss版本中可能有所不同)并对其进行评论

正在附加工作应用程序的屏幕截图:


PS:从repo中删除您的EAR或将其私有化

如果您无法将应用程序绑定到/并且无法更改应用程序中引用的文件路径,那么唯一的选择就是在服务器前面使用代理,比如nginx,这样您就可以向代理发出请求,并将请求传递到

您正在使用的技术堆栈是什么?(前端,后端)Hi Yogendra123抱歉,我使用的是静态网站,我使用Jboss 7.1部署,我认为它是前端,但我的知识有限。HTMl文件有绝对根路径而不是真实路径。有没有办法在Ear配置文件中设置根路径为“/app”而不是“/app”/"? 谢谢!:)在没有看到代码的情况下很难回答。您可以通过git repo共享您的代码吗?您好,您需要什么(示例:)我有很多代码文件,我知道你需要结构和web-inf和meta-inf内容,对吗?还是您也需要WebContent中的数据?谢谢,你在使用任何构建工具吗?您好,我使用了,我现在可以看到页面的标题,但我看不到其他任何东西(格式和图像有损坏的符号),如果我查找图像的来源,它仍然是localhost:8080/img/peptito.jpg,而不是localhost:8080/app/img/pepito.jpg。我用ROOT、war值修改了application.xml,并将war的名称更改为ROOT.war。当您的意思是配置服务器时,您的确切意思是什么?谢谢你的帮助,我非常感谢。非常感谢。我知道,使用此代码我无法设置上下文根,此服务器有更多应用程序,因此需要上下文根。我无法修改web应用程序的文件,因为它们是由其他软件生成的,因此我无法将路径更改为相对路径。我认为你的答案是正确的,因为你帮助我理解了。祝您有个美好的一天。
<location name="/" handler="welcome-content"/>