我正在嘗試爲以下方案編寫重寫規則。在web.config中將子文件夾重寫爲子域
用戶嘗試加載這樣的畫面:
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的答案,選項的工作...
UPDATE2:雖然cheesemacfly無法幫助我在我的特殊情況下,我爲他頒發了獎金和標誌着他的答案,作爲接受的一個,因爲他竭盡全力幫助我聊天。希望他的回答能幫助那些在IIS上重寫的人。
模式'^/images/stories/catalog/(.*)$'與您的輸入'domain.com/images/folder/picture.jpg'不匹配。這是一個錯字嗎?你想要做的是將任何請求像'domain.com/images/folder/*'重定向到'cdn.domain.com/images/folder/*'保留請求的文件名/路徑,對嗎? – cheesemacfly
這是一個錯字。以上更正。是的,你對重寫是正確的。我正在用我的cdn使用origin-pull – GregD
對不起,我無法幫到你更多...我很樂意看到解決方案,如果你找到它! – cheesemacfly