寻找一些 IIS 重定向帮助/想法

寻找一些 IIS 重定向帮助/想法

目前,我们的站点包含大量静态 asp 页面,例如 www.site.com/123.asp。这是由当前站点的 CMS 默认构建页面的方式决定的。我没有确切的数字,但目前站点中大约有 6000 个 asp 文件。我们正在重新设计和重构站点,并希望迁移到 SEO 友好的 URL。我们现在遇到的问题是如何将旧页面重定向到新的友好 URL?我知道如何进行重定向,但这不是这里的问题。我现在遇到的问题列在下面。

1 - IIS 中的重定向数量是否有限制?2 - 即使只有几千个重定向也会影响 IIS 性能吗?3 - 我的理解是,我们不会将页面排名传递给新的 URL,是吗?(如果这里没有人确定,那么我就不能在更多 SEO 论坛上提出这个问题了)4 - 使用 IIS 7 的 IIS URL Rewrite 2 模块之类的东西会对我们有所帮助吗?还是我仍然需要在其中定义几千个唯一的重定向?

我们现在的服务器运行的是 Server 2003,但是在重新设计时,如果有充分的理由(即 URL 重写模块),我愿意迁移到 Server 2008 R2。

感谢您的指导或帮助。我一直在寻找一个好的方法来实现这一点,但一直想出一些听起来有问题且糟糕的方法(例如有 6000 个重定向)。

答案1

哎哟!您可以考虑将其设为数据驱动 - 这可能是我采用的方法。假设新站点/CMS 将使用 ASP.NET 完成,则将 .asp 文件扩展名更改为由 ASP.NET 处理,然后为 *.asp 设置一个捕获所有 HTTP 处理程序,或者在 Global.asax 中捕获 404 错误。从那里,查看是否为 URL 定义了重定向(将它们放在数据库表或其他东西中,并可选择将它们动态地填充到 ASP.NET 的 Cache 对象中以减少重复查找),如果是,则输出 301 重定向。否则只有 404。

答案2

IIS7 的 Url Rewrite 2 模块非常灵活,允许您根据模式和数据源定义重定向规则。

如果您需要,您可以指定一个模式,然后在 xml 文件中定义一个包含不同 ID 之间映射的“列表”。这意味着您可以执行以下操作:

/system/somepage.asp?id=345

您知道旧系统中的 345 实际上映射到 49287,因此它使用单个规则(但使用列表映射)将其重写为:

/新系统/49287/se_friendly_dummy_page

你可以在这里读到它:

http://learn.iis.net/page.aspx/469/using-rewrite-maps-in-url-rewrite-module/

我曾经用包含 2000 多个条目的地图做过这个,一点也不慢。不过,它没有 2000 条规则,这可能是一个区别。在我的例子中,它有 3 条规则,但地图有 2000 个条目。

但是,您可以在地图中映射 asp 文件名,并且可能使用较少的规则。

相关内容