我们的web.config中有很多(超过100个)重定向,如
<configuration>
<system.webServer>
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
<add wildcard="/a" destination="/a/dfdf/default.htm" />
<add wildcard="/sad" destination="/aasd/dfdf/defsadault.htm" />
<add wildcard="/asdsaa" destination="/aasdas/dfasddf/default.htm" />
<add wildcard="/aasdsa" destination="/asdsaa/dfdf/defsdault.htm" />
<add wildcard="/aasd" destination="/adsa/dfdf/default.htm" />
..... more than 100
</httpRedirect>
</system.webServer>
</configuration>
我们是否可以在单独的web.config或任何其他最佳解决方案中管理此部分?
答案 0 :(得分:4)
您可以将一些配置元素移动到自己的配置文件中,以减少web.config中的混乱。
<configuration>
<system.webServer>
<httpRedirect configSource="httpRedirects.config" />
</system.webServer>
</configuration>
这是通过添加如上所示的configSource属性来实现的。
在单独的httpRedirects.config
中<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
<add wildcard="/a" destination="/a/dfdf/default.htm" />
<add wildcard="/sad" destination="/aasd/dfdf/defsadault.htm" />
<add wildcard="/asdsaa" destination="/aasdas/dfasddf/default.htm" />
<add wildcard="/aasdsa" destination="/asdsaa/dfdf/defsdault.htm" />
<add wildcard="/aasd" destination="/adsa/dfdf/default.htm" />
</httpRedirect>
注意我只尝试过其他配置元素。
答案 1 :(得分:1)
您可以将其存储在Separate Config文件中,如下所示:SectionInformation.ConfigSource Property
为了避免使配置文件混乱 - web.config
- 可以在单独的配置文件中定义它。然后可以从web.config文件中引用该文件,如下所示:
<httpRedirect configSource="httpRedirects.config" />
configSource
属性告诉IIS配置<httpRedirect>
部分是在单独的文件httpRedirects.config
中定义的。
编辑:
请确保您将httpRedirect属性设置为enabled=true
为 ,默认值为false。
<httpRedirect enabled="true" configSource="httpRedirects.config" />