【发布时间】:2014-10-23 22:29:35
【问题描述】:
大约一周前,我问了一个关于在 VPS 上运行 2 个不同的应用程序/Web 服务器的问题,但使用一个主要的传入 URL/端口(仅使用 site.com 而不需要 site.com:8080)。
我收到了一个答案,并且大部分情况下解决了这个问题。我需要使用 URL 重写,并在此过程中为重写制定入站和出站规则。
当我有一个值 URL 是相对的 CSS 属性时,这非常有效。例如:
.rule{
background-image: url(/images/picture.jpg);
}
我目前的入站和出站规则如下
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="java/(.*)" />
<action type="Rewrite" url="http://s17857763.onlinehome-server.com:8080/{R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="RewriteRelative" preCondition="IsHtml" enabled="false" stopProcessing="true">
<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="/(.*)" />
<action type="Rewrite" value="/java/{R:1}" />
</rule>
<rule name="RewriteAbsolute" preCondition="IsHtml" enabled="false">
<match filterByTags="A, Area, Base, Form, Head, IFrame, Img, Input, Link, Script" pattern="http(s)?://s17857763\.com/(.*)" />
<action type="Rewrite" value="/java/{R:2}" />
</rule>
<preConditions>
<preCondition name="IsHtml">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
<add input="{URL}" pattern=".*/java/.*" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
如果您想查看我遇到的问题,请打开您的开发控制台,转至http://s17857763.onlinehome-server.com/java/FirstMaven/
由于出站规则,它可以正常加载正常的 CSS 和 JS 链接,因为它们来自 HTML 标记....但我不知道是否可以修复 CSS url() 路径。
【问题讨论】:
-
您的问题的 URL 无效。
-
对那个 Chrissi 感到抱歉,它现在应该可以工作了。我忘记了数字前的“s”
标签: javascript css mod-rewrite iis url-rewriting