【发布时间】:2017-01-25 05:53:15
【问题描述】:
我正在运行 IIS 8、Windows Server 2012。
我的网站有很多子目录。一个理想的 url 应该是这样的:
oldsite.com/subdir/subdir/pages/default.aspx
我需要将 (301) 访问者重定向到不同的域,并且需要保留原始 url 文件路径的其余部分(从第 2 个到最后一个斜杠“/”的所有内容)。
我在 Excel 表中有我的重定向地图,如下所示:
oldsite.com/subdirA/subdirB/pages/default.aspx -> newsiteA.com/subdirC/subdirD/pages/default.aspx
所以你看到除了最后一部分之外,整个事情都必须改变。
我的 web.config 如下所示:
<rewrite>
<rewriteMaps>
<rewriteMap name="RedirectsCollectionParshareSites">
<add key="/subdirA/subdirB/" value="/subdirC/subdirD/" />
<!--will have many of these add keys-->
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Rule1 for RedirectsCollectionParshareSites">
<match url="^(.+)" />
<conditions>
<add input="{RedirectsCollectionParshareSites:{REQUEST_URI}}" pattern="^([^/]+)/([^/]+)(.*)" />
</conditions>
<action type="Redirect" url="http://newsiteA.com/{C:1}{C:3}" appendQueryString="true" />
</rule>
</rules>
我希望有很多“添加键”——使用我的 excel 表中的映射,每个新域,我将有一个新的“rewriteMaps”部分,它有自己的“动作”。
我的问题是,这是使用这个模块的正确方法吗?还有其他建议吗?
请记住,我有大约一千个这样的重定向要实现。
任何帮助将不胜感激。
【问题讨论】:
标签: redirect iis url-rewriting web-config