我有一个Azure CDN,其网站来自我的域名,它自动选择www.mydomain.co.uk(我没有选择更改它)。我宁愿不使用存储源,因为我从Github自动部署。因此,azxxxxxxx.vo.msecnd.net将从www.mydomain.co.uk检索内容并在本地缓存。
但是,我有一个URL写规则,它会将www.mydomain.co.uk重定向到mydomain.com(出于各种SEO原因)。这将导致对CDN内容的请求返回301重定向,而不是向CDN提供内容以使其缓存。有什么方法可以在Azure CDN请求内容时停止URL重写?
非常欢迎您在https://github.com/brentnewbury/PersonalSite/blob/master/web.config
查看代码和网址重写规则答案 0 :(得分:2)
对于其他可能想知道我是如何解决问题的人,我决定编写一个URL重写规则(见下文),查找/cdn/
并将其路由并不再处理其他规则。这看起来效果很好。这意味着对于存储在//azxxxxxxx.vo.msecnd.net/cdn/img/pic.jpg
中的图片,我的HTML中的引用看起来像/img/pic.jpg
。
<rule name="CDN Passthrough" stopProcessing="true">
<match url="(.*)(cdn/)([\S]+)" />
<action type="Rewrite" url="{R:1}/{R:3}"/>
</rule>