将CSS URL重定向到没有www子域的CSS

时间:2013-03-07 12:07:53

标签: css jsf url-rewriting glassfish prettyfaces

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

这是我的问题:

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

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

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

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

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

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

感谢。

2 个答案:

答案 0 :(得分: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']}");
}

另见:

答案 1 :(得分:1)

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

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

作为我的任何资源的路径。 这样,我相信我总能找到正确的资源。

希望这会有所帮助 干杯