【发布时间】:2012-12-25 12:04:28
【问题描述】:
我正在尝试为以下场景编写重写规则。
用户尝试加载此图片:
domain.com/images/folder/picture.jpg
相反,我需要加载它:
cdn.domain.com/images/folder/picture.jpg.
这是我所拥有的不起作用的:
<rule name="CDN rewrite for Images">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="domain.com" />
<add input="{REQUEST_URI}" pattern="^/images/folder/(.*)$" />
</conditions>
<action type="Rewrite" url="cdn.domain.com/images/folder/{C:1}" />
</rule>
更新:添加附加信息。大多数图片都是从 Joomla 提供的,因此虽然域的根目录类似于 domain.com,但大多数图片都是使用 src="/images/folder/picture.jpg" 输入的,不太清楚这对重写有何影响,但是下面cheesemacfly的答案中没有一个选项有效...
更新 2: 虽然 cheesemacfly 在我的特殊情况下无法帮助我,但我奖励了他并将他的答案标记为已接受,因为他在聊天中竭尽全力帮助我.希望他的回答能帮助那些在 IIS 上重写的人。
【问题讨论】:
-
模式
^/images/stories/catalogue/(.*)$与您的输入domain.com/images/folder/picture.jpg不匹配。那是错字吗?您在这里想要做的是将任何请求(如domain.com/images/folder/*)重定向到cdn.domain.com/images/folder/*,并保留请求的文件名/路径,对吗? -
这是一个错字。上面更正了。是的,你对重写是正确的。我在我的 CDN 上使用 origin-pull
-
对不起,我无法为您提供更多帮助...如果您找到解决方案,我很乐意看到!
-
我已经用我最近发现的内容更新了我的答案。让我知道是否有帮助...
标签: asp.net iis-7 web-config subdomain url-rewrite-module