0

我想知道是否有办法在发生请求时删除 www (或添加)。

这是我的问题:

我以这种方式插入 CSS:“//domain.com.br/resources/cssname.css”

如果我访问页面 http,一切正常,但是当我使用“www.domain.com.br”访问页面 https 时,页面不会加载 CSS 文件

如果我像这样插入 CSS:“//WWW.domain.com.br/resources/cssname.css”,则会发生相反的情况,当我使用“domain.com.br”访问页面时,没有 CSS。

我可以在使用删除 wwww 或所有请求添加 www 时更改所有请求吗?

我看到漂亮的脸可以用这个来完成吗?

另外,我正在使用 glassfish,我不知道这是否可以由那里或由提供者完成。

谢谢。

4

2 回答 2

2

您根本不必担心所有 CSS/JS/图像资源中的域名或上下文路径。

代替

<link rel="stylesheet" href="//domain.com/context/resources/style/some.css" />
<script src="//domain.com/context/resources/script/some.js"></script>
<img src="//domain.com/context/resources/images/some.png" />

甚至

<link rel="stylesheet" href="#{request.contextPath}/resources/style/some.css" />
<script src="#{request.contextPath}/resources/script/some.js"></script>
<img src="#{request.contextPath}/resources/images/some.png" />

甚至像其他答案所建议的那样笨拙地更长

<link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/resources/style/some.css" />
<script src="#{facesContext.externalContext.requestContextPath}/resources/script/some.js"></script>
<img src="#{facesContext.externalContext.requestContextPath}/resources/images/some.png" />

实际上应该使用

<h:outputStylesheet name="style/some.css" />
<h:outputScript name="script/some.js" />
<h:graphicImage name="images/some.png" />

而且,对于 CSS 背景图像,而不是

.some {
    background-image: url("../images/some.png");
}

实际上应该使用

.some {
    background-image: url("#{resource['images/some.png']}");
}

也可以看看:

于 2013-03-13T16:28:26.820 回答
1

就个人而言,我总是使用:

#{facesContext.externalContext.requestContextPath}/resources/cssname.css

作为我的任何资源的路径。这样,我确信我总是能找到正确的途径来获取我的资源。

希望这有助于干杯

于 2013-03-07T14:15:06.497 回答