我有一个运行Umbraco CMS的ASP.Net MVC网站。我们正在为SEO目的进行一些修改。其中一个包括降低所有URL。我已经设置了一个IIS URL重定向规则,对所有传入的URL进行301重定向到URL的ToLower< d版本。它是IIS创建的默认规则:
<rule name="LowerCaseRule" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Redirect" url="{ToLower:{URL}}" redirectType="Permanent" />
</rule>
我还有一些额外的规则(http =&gt; https,drop trailing slash),但这似乎是问题所在。
正如所料,这个ToLower降低了所有网址。不幸的是,这包括以下路径:
/Content/MySite/Theme/css/bootstrap.min.css
这与通过HTTPS提供的主页面相结合会导致混合内容错误。图像仍会加载警告,但脚本和样式表会被阻止。
我能看到的唯一解决方案是完成整个解决方案并手动小写每个网址。但这相当违背了使用URL重定向的目的。它也疯狂,因为我保证会错过一些。
如何更改此规则或添加其他规则以避免这些混合内容错误?
答案 0 :(得分:0)
听起来并非所有内容都通过HTTPS提供以获取混合内容消息。您是否使用网络浏览器开发工具验证了这一点? 我也对开发工具网络选项卡感兴趣,以及您为未加载的内容获取的状态代码。