4

我们的 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 或任何其他最佳解决方案中管理此部分?

4

2 回答 2

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>

注意我只用其他配置元素尝试过这个。

于 2013-03-12T11:56:54.753 回答
1

您可以将其存储在单独的配置文件中,如下所示:SectionInformation.ConfigSource 属性

为了避免配置文件混乱web.config——可以在单独的配置文件中定义。然后可以从 web.config 文件中引用该文件,如下所示:

<httpRedirect configSource="httpRedirects.config" />

configSource属性告诉 IIS 配置该<httpRedirect>部分是在单独的文件中定义的httpRedirects.config

编辑:

请确保您已将 httpRedirect 属性设置enabled=true默认值为 false。

<httpRedirect enabled="true" configSource="httpRedirects.config" />
于 2013-03-12T12:00:48.440 回答