我在IIS7上使用.net 3.5运行asp.net Web应用程序。
为了提高我的Yslow得分,我正在考虑为我的静态资源(如图像,CSS和JavaScript)实现一个无Cookie域。
我网站的网址是www.mywebsite.com。
因此,静态资源的网址为static.mywebsite.com/styles.css
我希望尽可能无缝地进行此更改。我在整个网站使用相对路径。
我可以设置subirectoy static.mywebsite.com
但我还需要对我的应用程序进行更改。我正在寻求帮助。使用可以包含在web.config中的新功能进行URL重写。关于我如何能够为images / css / javascript设置static.mywebsite.com的任何提示或想法?
答案 0 :(得分:0)
可以使用出站规则。此规则将js,css,jpg和png重写为static.mywebsite.com。
<outboundRules rewriteBeforeCache="true">
<rule name="CDN-01-css" preCondition="CheckHTML" stopProcessing="true">
<match filterByTags="Link" pattern="/(.*\.css)" />
<action type="Rewrite" value="http://static.mywebsite.com/{R:1}" />
</rule>
<rule name="CDN-01-js" preCondition="CheckHTML" stopProcessing="true">
<match filterByTags="Script" pattern="/(.*\.js)" />
<action type="Rewrite" value="http://static.mywebsite.com/{R:1}" />
</rule>
<rule name="CDN-01-jpg" preCondition="CheckHTML" stopProcessing="true">
<match filterByTags="Img" pattern="/(.*\.jpg)" />
<action type="Rewrite" value="http://static.mywebsite.com/{R:1}" />
</rule>
<rule name="CDN-01-png" preCondition="CheckHTML" stopProcessing="true">
<match filterByTags="Img" pattern="/(.*\.png)" />
<action type="Rewrite" value="http://static.mywebsite.com/{R:1}" />
</rule>
<preConditions>
<preCondition name="CheckHTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
例如:
它会自动更改输出html
<link rel='stylesheet' id='social-logos-css' href='/wp-content/plugins/jetpack/_inc/social-logos/social-logos.min.css?ver=1' type='text/css' media='all' />
到
<link rel='stylesheet' id='social-logos-css' href='http://static.mywebsite.com/wp-content/plugins/jetpack/_inc/social-logos/social-logos.min.css?ver=1' type='text/css' media='all' />