首页 新闻 会员 周边 捐助

关于404页面引用外部css路径问题

0
悬赏园豆:50 [已解决问题] 解决于 2015-06-09 15:52

web.xml配置

<error-page>
    <error-code>404</error-code>
    <location>/404.html</location>
</error-page>

404.html里

<link href="css/404.css" rel="stylesheet" type="text/css" />

404.css里

background: url(../images/404.png) 

所以文件结构是

myapp/404.html

myapp/css/404.css

myapp/images/404.png

 

现在的问题是当我访问http://localhost/myapp/path/not/found/xx/...这样的地址时候404.html是可以返回的,但是找不到css,求教!

jieyuefeng的主页 jieyuefeng | 菜鸟二级 | 园豆:201
提问于:2015-06-08 23:20
< >
分享
最佳答案
0

这种URL千变万化的情况,要么用绝对路径引用css,要么直接将css直接写在html中。

如果使用绝对路径,就不能放程序放在虚拟目录中,要放在根目录下。

收获园豆:25
dudu | 高人七级 |园豆:29737 | 2015-06-09 09:49

我只是想有人告诉我我不知道的方式,或者告诉我说你只能这么做,谢谢园长,另外,为什么回复时候的第一次按键会被撤销呢?

jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 15:51

@jieyuefeng: 我这里没遇到过这个问题,你用的是什么浏览器?

dudu | 园豆:29737 (高人七级) | 2015-06-09 15:53
其他回答(5)
0

../ 去掉

 

css里面的路径是基于css文件的

收获园豆:5
仰望繁星的猪 | 园豆:519 (小虾三级) | 2015-06-08 23:44

你说是css里引用图片是吧,css文件和图片文件本就不在一个目录里啊,相对路径也就是../images,但现在的问题其实是html还找不到css

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 00:09
0

myapp/css/404.css

 

就是说,假设myapp在根目录,你的文件在 myapp里面的css里面的404.css

路径就是: /myapp/css/404.css

<link href="/myapp/css/404.css" rel="stylesheet" type="text/css" />

 

试试吧...

收获园豆:5
上位者的怜悯 | 园豆:172 (初学一级) | 2015-06-09 01:12

这样肯定是行的,但这样的问题是我在404.css里面并不知道我当前在myapp的目录,因为可能直接把myapp部署在ROOT下,或是其他名字下

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 01:28
0
<link href="../css/404.css" rel="stylesheet" type="text/css" />

试试吧,  如果有用记得采纳, 没用的话就继续追问。追问的时候请附上项目的文件物理路径结构图。

收获园豆:5
请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-06-09 09:19

参照dudu的回答

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 15:48
0

/myapp/css/404.css

/myapp/images/404.png

在php里面设置变量

$app="/myapp";

echo $app."/css/404.css"

收获园豆:5
xmodygetz | 园豆:575 (小虾三级) | 2015-06-09 12:22

不是php呀

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 15:48

@jieyuefeng: 哦jsp也类似

支持(0) 反对(0) xmodygetz | 园豆:575 (小虾三级) | 2015-06-09 15:55

@xmodygetz: 我只是想说$app="/myapp"这句话,这个名字取决于我把项目部署在哪个目录下,所以我想避免这种生硬的写法

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 16:02

@jieyuefeng: application.getRealPath

支持(0) 反对(0) xmodygetz | 园豆:575 (小虾三级) | 2015-06-09 16:07

@xmodygetz: 静态网页

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 16:09

@jieyuefeng: 还是直接用cdn吧

支持(0) 反对(0) xmodygetz | 园豆:575 (小虾三级) | 2015-06-09 16:12
0

直接用<link href="/css/404.css" rel="stylesheet" type="text/css" />吧,和你css当前在哪个目录下没关系的,你测试的时候要用IIS新建一个站点,而不是在默认站点下添加一个应用程序.因为/开关的路径是相对站点根路径的.

收获园豆:5
hexllo | 园豆:318 (菜鸟二级) | 2015-06-09 14:31

参照dudu的回答

支持(0) 反对(0) jieyuefeng | 园豆:201 (菜鸟二级) | 2015-06-09 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册