【问题标题】:Primefaces <p:graphicimage> giving 404 while using apache httpd mod-rewritePrimefaces <p:graphicimage> 在使用 apache httpd mod-rewrite 时给出 404
【发布时间】:2012-08-07 22:12:28
【问题描述】:

我用一个 jsp 文件创建了一个简单的应用程序并使用了 primefaces,这是代码

index.jsp:

 <%@ page session="false" contentType="text/html;charset=utf-8" %>
 <%@ taglib uri="http://primefaces.prime.com.tr/ui" prefix="p" %>
 <p:graphicImage value="/image/Kitty.gif"/>

httpd.conf:

 <VirtualHost localhost:80>
   ProxyPass /sayHello http://localhost:8080/sayHello
   ProxyPassReverse /sayHello http://localhost:8080/sayHello
 </VirtualHost>

如果我直接运行应用程序(http://localhost:8080/sayHello),图像正在显示 但如果我使用 apache (http://localhost/sayHello) 运行它,它会失败。我还尝试手动点击生成的 URL,我相信 Apache 没有重定向它。

【问题讨论】:

    标签: mod-rewrite primefaces apache


    【解决方案1】:

    尝试将代理传递更改为根 URI:

    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    

    或者也代理图片目录:

    ProxyPass /sayHello http://localhost:8080/sayHello
    ProxyPassReverse /sayHello http://localhost:8080/sayHello
    
    ProxyPass /image http://localhost:8080/image
    ProxyPassReverse /image http://localhost:8080/image
    

    【讨论】:

    • 感谢您的回复,我试过了(两者)!现在,如果我使图像可点击 我将操作保持为空,以便它刷新。如果我点击localhost/sayHello 然后点击图片。页面加载为localhost:8080/sayHello。此外,我在其localhost:8080/<gibberish> 中看到了为图像生成的 URL。我希望图像加载为localhost/<gibberish>
    • @anandramani 尝试将ProxyPassReverse 包含在/image 目录中(编辑了我的答案)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 2011-05-06
    • 2019-12-19
    • 1970-01-01
    相关资源
    最近更新 更多