用静态内容替换图像 wildfly 10

Posted

技术标签:

【中文标题】用静态内容替换图像 wildfly 10【英文标题】:Replace images with static content wildfly 10 【发布时间】:2017-06-13 08:08:31 【问题描述】:

在我们的应用中,JBoss 7.2 上的静态内容使用重写规则进行部署:

<rewrite name="rule-1" pattern="^(\/my_app\/(?!(exclude)\/)((.*)\.(css|gif|ico|jpg|PNG|png)))$" substitution="/another.war/my_app/$3" flags="L"/>

而且效果很好

现在,我想在 wildfly 10 上部署静态内容,但我不能。 undertow 子系统是:

<subsystem xmlns="urn:jboss:domain:undertow:3.0">
                <buffer-cache name="default"/>
                <server name="default-server">
                    <http-listener name="default" socket-binding="http"/>
                    <host name="default-host" alias="localhost">
                        <location name="/" handler="welcome-content"/>
                        <location name="/my_app" handler="static"/>
                        <filter-ref name="server-header"/>  
                        <filter-ref name="x-powered-by-header"/>
                    </host>
                </server>
                <servlet-container name="default">
                    <jsp-config/>
                    <websockets/>
                </servlet-container>
                <handlers>
                    <file name="welcome-content" path="$jboss.home.dir/welcome-content"/>
                    <file name="static" path="$jboss.home.dir/welcome-content/my_app" directory-listing="true"/>
                </handlers>
                <filters>
                    <response-header name="server-header" header-name="Server" header-value="WildFly/10"/>
                    <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                </filters>
            </subsystem>

预期结果是希望在浏览器中显示的图像被路径上的图像替换,而不是图像的 404 未找到。

谢谢

【问题讨论】:

【参考方案1】:

你必须在你的虚拟主机中使用 Undertow 谓词 http://undertow.io/undertow-docs/undertow-docs-1.2.0/index.html#predicates-attributes-and-handlers 并带有这样的重写标签:

【讨论】:

你写了“像这样”,什么都没有:(

以上是关于用静态内容替换图像 wildfly 10的主要内容,如果未能解决你的问题,请参考以下文章

Wildfly + Eclipse 部署扫描程序

Undertow:WAR 文件之外的静态根内容(wildfly)

将 Wildfly 10 主页替换为包含在 ear 文件中的自定义应用程序

将 JMX Exporter 与 Wildfly 15 一起使用时出现 NoClassDefFoundError

Jackson marshal/unmarshal 在 jaxrs wildfly 15 中表现不同

如何使用 WildFly 连接到受 Kerberos 保护的 Apache Phoenix 数据源?