【问题标题】:Web.config IIS rewrite rule to ignore specific fileWeb.config IIS 重写规则以忽略特定文件
【发布时间】:2017-07-25 16:28:37
【问题描述】:
我的站点上有一个站点 txt 地图 sitemaphttp.txt。我将所有流量重定向到 HTTPS。我仍然希望 Google 能够读取此站点地图,因此它不会从 https://example.com/sitemaphttp.txt 读取它,而是从 http://example.com/sitemaphttp.txt 读取它。我需要将什么重写规则添加到 web.config 中,这样它就会忽略所有其他规则并让该特定文件通过。
【问题讨论】:
标签:
c#
.net
web-config
iis-8
url-rewrite-module
【解决方案1】:
从父站点地图链接到自定义站点地图提供程序
-
从父站点地图,在位置创建一个 SiteMapNode
您希望子站点地图所在的导航结构
显示出来。
例如,如果您使用默认的 XmlSiteMapProvider 类,
打开 Web.sitemap 文件并在
层次结构中的适当位置:
<siteMapNode provider="SimpleTextSiteMapProvider" />
注意
提供者属性对应于 Web.config 文件中提供者的名称属性。
-
使用 add 元素将自定义站点地图提供程序添加到 Web.config 文件。以下代码添加了名为 SimpleTextSiteMapProvider 的自定义提供程序,但将 XmlSiteMapProvider 维护为默认站点地图提供程序。
<configuration>
<!-- other configuration sections -->
<system.web>
<!-- other configuration sections -->
<siteMap defaultProvider="XmlSiteMapProvider">
<providers>
<add
name="SimpleTextSiteMapProvider"
type="Samples.AspNet.SimpleTextSiteMapProvider,Samples.AspNet"
siteMapFile = "siteMap.txt" />
</providers>
</siteMap>
</system.web>
</configuration>