提问人:SxChoc 提问时间:10/23/2023 更新时间:10/24/2023 访问量:50
使用“catch all”ASP.NET 特定于 web.config 的重定向
ASP.NET web.config specific redirects with a 'catch all'
问:
我想知道是否有人能阐明我认为不可能的事情.....
一个网站正在停用,网站所有者提供了大量要强制执行的 URL 重定向列表 (5000)。此列表中的绝大多数条目都重定向到通用登录页面。
所以,问题是有没有办法在 Web 配置中使用 HTTP 重定向功能来处理特定的重定向(oldsite.com/page1 到 newsite.com/page1、oldsite.com/page2 到 newsite.com/page2 等),并将任何不在特定重定向列表中的内容定向到通用登录页面?
谢谢 C
答:
2赞
Jannik Anker
10/24/2023
#1
是的,我会这么认为。IIS 重写模块允许您定义任意数量的重定向规则,我相信它们将“依次”执行。因此,您应该能够为特定 URL(oldsite/page1 -> mewsite/page1 等)创建规则,然后在这些规则之后有一个包罗万象的规则。https://learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module#creating-a-redirect-rule
1赞
YurongDai
10/24/2023
#2
是的,您可以使用 IIS 中的重写模块来处理特定重定向,并将特定重定向列表之外的内容路由到通用登录页面。
以下是如何在 web.config 中设置重定向规则的示例:
<rewrite>
<rules>
<!-- Specific redirects -->
<rule name="Redirect page1">
<match url="^page1$" />
<action type="Redirect" url="https://newsite.com/page1" />
</rule>
<rule name="Redirect page2">
<match url="^page2$" />
<action type="Redirect" url="https://newsite.com/page2" />
</rule>
<!-- Add more specific redirects as needed -->
<!-- Catch-all redirect -->
<!-- Any other URL will be redirected to the generic login page -->
<rule name="Redirect to Generic Landing Page">
<match url=".*" />
<action type="Redirect" url="https://newsite.com/generic-landing-page" />
</rule>
</rules>
</rewrite>
评论
0赞
SxChoc
10/24/2023
绝对是顶级香蕉,谢谢伙计
评论