0

我们正在使用 IIS7 和 ASP.NET 3.5。

我们已经用新页面更新了我们的网站。现在,互联网上有许多指向我们网站的链接,但是由于我们新网站的目录结构发生了变化,这些链接中的许多现在都被破坏了。

我需要有一些请求,301 重定向到“新页面”。许多旧页面只是目录 URL,例如:

/服务/软件开发

/产品/地理数据

/站点地图

/公司/termsofuse

我在 Global.asax 文件中编写了一些代码来捕获 url,解析它们并重定向它们。但是,当没有文件引用 (.aspx) 时,我的 ASP.NET 应用程序不会捕获 URL。

看来,这些重定向需要在 IIS7 中创建。

现在,上面的 url 处于目录级别(它们不是直接请求实际的 .aspx 页面)......我可以使用虚拟目录将“目录”请求重定向到另一个“目录”......但我无法重定向对实际 .aspx 文件的目录请求

以下是我需要进行的一些重定向类型:

==========

旧:/服务/软件开发

重定向到:/services/custom-software-development.aspx

=============

旧:/站点地图

重定向到:/sitemap.aspx

=============

旧:/company/termsofuse

重定向到:/company/termsofuse.aspx

==============

旧:/公司/职业

重定向到:/company/careers.aspx

==============

旧:/服务/

重定向到:/services/custom-software-development.aspx

==============

有人可以阐明如何做到这一点吗?请让我知道,如果你有任何问题。非常感谢您的帮助。

蒂姆

4

2 回答 2

1

One quick and dirty option is to create default.aspx redirect pages in the folders you have listed. For example, to handle /services/softwaredevelopment, create a file default.aspx at /services/softwaredevelopment/default.aspx with the following:

<%@ Page Language="C#" Inherits="System.Web.UI.Page" %>

<% Response.Redirect("/services/custom-software-development.aspx"); %>

This solution is only practical if there are only a few redirects, as it clutters your project with code files that do very little. A better solution for a large number of redirects is to use IIS 7's native URL rewriter.

于 2009-10-18T00:32:06.907 回答
0

查看“Windows Server 2008 上 IIS 7 中的 HTTP 重定向” http://www.trainsignaltraining.com/iis7-redirect-windows-server-2008

您应该能够通过配置 IIS 而不是编码来完成大多数类型的重定向。

于 2011-06-03T01:03:37.873 回答