我似乎无法得到我头上,围绕这些重写规则,因为某些原因我希望你们可能会有帮助。什么我想要的是一个出境的规则将改写道路链接,img、脚本,并输入标记。

我要改变这样的: http://www.mysite.com/appname/css/file.css

这样的: http://cdn.mysite.com/css/file.css

所以,基本上我需要交换的主机名称和下降的应用程序的名称从该网址。我有预设条件的过滤器来*.aspx文件的设置已经,但是其余部分似乎是希腊语给我。

编辑为了清楚起见

该应用程序在URL上是一个应用程序在IIS。这是一个占位于何种名称发生在使用。它可能是任何超过50个不同的应用程序与我们目前的设置。会有 总是 被一个称.也许,这将使该规则甚至更加容易。

主机名称,在这种情况下www.mysite.com,也可以略有不同的子域。它可能是www1.mysite.com,www2,等等。此外,刚刚意识到我需要保持SSL如果那里。

所以,我想当它涉及到它,我真的只是需要采取的URL,减去应用程序和追加的新的领域,同时尊重该协议使用。

原来的网址:http(s)://{主}/{称}/{URL}

输出:http(s)://cdn.mysite.com/{URL}

有帮助吗?

解决方案

我假设你的网站的域名总是相同的,那么这个规则应做到:

<rule name="CdnRule" preCondition="OnlyAspx" >
    <match filterByTags="Img, Input, Link, Script" pattern="^(.+)://.+?\.(.+?)/.+?/(.*)" />
    <action type="Rewrite" value="{R:1}://cdn.{R:2}/{R:3}" />
</rule>

<preConditions>
<preCondition name="OnlyAspx">
    <add input="{PATH_INFO}" pattern=".+\.aspx$" />
</preCondition>
</preConditions>

编辑:根据澄清的问题

我假设域(www,www2,...)总是存在,它已被忽略的目标网址。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top