gpt4 book ai didi

c# - ASP.NET URL 重映射和重定向——需要最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:15 25 4
gpt4 key购买 nike

情况是这样的:我有一个包含大约 5000 个 URL 的列表,这些 URL 已经发布给了不同的客户。现在,所有这些 URL 的位置在我的服务器端都发生了变化。服务器仍然是一样的。这是一个 .NET3.5/C# 的 ASP.NET 网站。

我的要求是:虽然客户使用旧的源 URL,但他们应该被重定向到新的 URL,而没有任何可感知的更改或中间重定向消息等。

我正在尝试理解整个场景:

  1. 我会将旧 URL 到新 URL 的实际映射放在哪里——在数据库或某些配置中。文件还是有更好的选择?

  2. 我将如何实际实现重定向:
    我应该使用 Server.Transfer 或 Response.Redirect 编写方法吗?
    是否有最佳实践 - 将实际的重新路由放在 HTTPModules 中......还是 Application_BeginRequest?

我希望通过符合最佳实践的方法和非常低的性能下降(如果有的话)来实现。

最佳答案

如果您的应用程序已经使用数据库,那么我会使用它。使旧 URL 成为主键,查找应该非常快。我会亲自将整个东西包装在抽象它的 .NET 类中,并允许您创建一个 Dictionary<string,string>所有可以从数据库加载到内存并缓存的 URL。这会更快。

绝对不要使用 Server.Transfer .相反,你应该做 301 Permanently Moved重定向。这将使 search engines know使用新的 URL。如果您使用的是 NET 4.0,则可以使用 HttpResponse.RedirectPermanent方法。但是,在早期版本中,您必须自己设置 header - 但 this is trivial .

关于c# - ASP.NET URL 重映射和重定向——需要最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3374394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com