同一服务器同域名下运行aspx与.Net Core(.Net 5)网页的方案咨询
网店WebForms迁移至.Net Core重定向方案解答
同域名同时运行两套站点的可行性
你提到的方案是完全可行的,实现方式可选择:
- 基于IIS部署时,将WebForms站点配置为.Net Core主站点的子应用,通过处理程序映射区分不同后缀的请求转发到对应运行时处理
- 用反向代理层(Nginx、IIS ARR等)匹配路径规则,*.aspx请求转发到独立部署的WebForms站点,其余请求转发到.Net Core站点
该方案的优势是支持渐进式迁移,可保留旧站点未迁移完成的功能正常访问;缺点是需要同时维护两套运行环境,服务器配置复杂度、后续迭代成本更高,仅适合过渡阶段短期使用。
更推荐的实现方案
不需要同时运行两套站点即可实现旧aspx路径的301永久重定向,完全可以满足谷歌搜索权重传递的需求,常用方案如下:
- IIS URL重写规则方案:适合服务器采用IIS部署的场景,直接在站点根目录的web.config中添加重写规则即可,示例规则匹配你给出的场景:
<rule name="ASPX页面301重定向" stopProcessing="true"> <match url="^products/(.*)-\d+\.aspx$" /> <action type="Redirect" url="{R:1}" redirectType="Permanent" /> </rule>
该方案性能开销极低,无需修改应用代码,配置一次永久生效。
- .Net Core内置重写中间件方案:跨平台通用,不依赖服务器配置,直接在应用的Program.cs中添加重写规则即可:
// 需先引用Microsoft.AspNetCore.Rewrite命名空间 app.UseRewriter(new RewriteOptions() .AddRedirect(@"^products/(.*)-\d+\.aspx$", "$1", (int)System.Net.HttpStatusCode.MovedPermanently) );
该方案适合跨平台部署的场景,重定向规则和应用代码一起维护,可适配更复杂的自定义重定向逻辑。
- 映射表重定向方案:如果新旧路径没有统一的正则匹配规则,可单独维护JSON/XML格式的路径映射表,在.Net Core自定义中间件中读取映射表匹配旧路径返回301响应,适合零散路径的重定向场景。
配置完成后可通过谷歌搜索控制台验证重定向规则有效性,确保搜索权重正常传递到新页面,避免流量损失。
内容的提问来源于stack exchange,提问作者Axel Andersen
相关产品推荐
相关产品推荐

