我有一个JSF2应用程序,我想在浏览器中只显示每个页面的域名。例如:
http://www.example.com/index.jsf 至 http://www.example.com
因此,我将PrettyFaces配置为:
<url-mapping id="index">
<pattern value="/" />
<view-id value="/index.jsf"/>
</url-mapping>
但是,我收到404错误消息“请求的资源(/index.jsf/)不可用。”
如果我尝试使用“/ test”作为模式,那么它适用于www.example.com/test。
以下文件存在于web-root中:
index.xhtml
index.html
index.html包含重定向
<meta http-equiv="Refresh" content="0; URL=index.jsf">
非常感谢。
PS:PrettyFaces 3.3.2,JSF 2,PrimeFaces 3.1.1
编辑: 我搞定了! 我需要删除浏览器缓存。我不知道为什么......但它有所帮助。无论如何,谢谢你的答案!
答案 0 :(得分:1)
我不知道PrettyFaces部分,但您也可以将FacesServlet
映射从*.jsf
更改为*.xhtml
,然后使用<welcome-file>index.xhtml</welcome-file>
代替并删除那个hacky index.html
。这样您就不需要使用虚拟URL,也可以从容器的内置欢迎文件工具中获益。
答案 1 :(得分:0)
浏览器经常缓存301重定向,以便将来不需要联系旧地址。清除浏览器缓存是强制浏览器再次联系原始URL的唯一方法。