2009-10-17 55 views
0

我們使用IIS7和ASP.NET 3.5。IIS7&301重定向 - 文件夾到文件

我們已經用新頁面更新了我們的網站。現在,互聯網上有很多指向我們網站的鏈接,但是由於我們新網站的目錄結構發生了變化,現在許多鏈接已經斷開。

我需要有多個請求,301重定向到「新的一頁。」許多舊網頁的只是目錄的URL,例如:

/服務/ softwaredevelopment

/產品/ geographicdata

/網站導航

/公司/ termsofuse

我已經寫了一些Global.asax文件中的代碼來捕獲url,解析出來並重定向它們。但是,當沒有文件引用(.aspx)時,URL不會被我的ASP.NET應用程序捕獲。

看來,這些重定向需要在IIS7中創建。

現在,網址,上面有在目錄級別(他們沒有直接請求實際的.aspx頁面)......我可以通過使用虛擬目錄重定向「目錄」請求到另一個「目錄」 ....但我不能一個目錄的請求重定向到一個實際的.aspx文件

這裏有一些類型的重定向我需要做:

==========

老:/services/softwaredevelopment

重定向到:/ services/cust OM-軟件development.aspx

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

舊:/網站地圖

重定向到:/sitemap.aspx

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

舊:/公司/ termsofuse

重定向到:/company/termsofuse.aspx

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

舊:/公司/事業

重定向到:/company/careers.aspx

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

舊:/服務/

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

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

有人可以解釋一下如何做到這一點?請讓我知道,如果你有任何問題。非常感謝您的幫助。

回答

1

一個快速和骯髒的方法是創建的Default.aspx重定向你已經列出的文件夾頁。例如,處理/服務/ softwaredevelopment,在/services/softwaredevelopment/default.aspx創建文件的Default.aspx有以下幾點:

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

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

該解決方案是唯一可行的,如果有隻有幾個重定向,如它使用很少的代碼文件混淆了你的項目。對於大量重定向的更好解決方案是使用IIS 7的native URL rewriter

相關問題