我们在 Sitecore 站点前使用 ARR 设置了反向代理。我们仅使用此反向代理来提供站点核心媒体项目。Sitecore 媒体项目正在使用 ARR 正确缓存在磁盘上。
现在我们面临的问题是,对于所有图像,HTTP 状态码始终为 200,因此它们不会缓存在浏览器中。如果我们禁用反向代理,则 HTTP 状态代码为 304,并且浏览器从本地缓存呈现图像。
ARR 不发送 304 状态码有什么原因吗?
更新#1:下面是我们设置的 ARR 规则:
<rule name="Default ReWrite" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="http://127.0.0.1/{R:0}" logRewrittenUrl="true" />
<serverVariables>
</serverVariables>
</rule>