2010-10-28 52 views
2

我的一位客戶將人們引用到某個URL。她使用實體字母打印網址,收件人需要幾個星期才能訪問URL並完成任務。比方說,她給人的網址是:IIS重定向來自特定的過時URL?

www.department-a.domain.com/folder/important-page.html

的問題是,我切換內容管理系統,因此,她的鏈接頁面的人將坐在另一個網址。但是由於她在字母上打印網址時需要重疊,因此人們可以訪問舊網址並重定向。

這裏就是它得到棘手。在新系統中,www.department-a.domain.com的子域名實際上轉發至www.domain.com/index/department-a.aspx

這不是一個文件夾,而是一個實際的頁面,它使重定向棘手。這也意味着我不能簡單地重新創建文件夾結構並使用簡單的HTML元刷新/重定向。基本上我的問題是:

在IIS中是否有任何告訴服務器,當有人試圖查看具體和不再存在的URL「www.department-a.domain.com/folder/important-page.html 「將他們重定向到另一個位置?我是.net和IIS的新手,所以任何輸入或鏈接或提示都非常感謝。

編輯 - 對不起,我使用的IIS7,而不是像IIS6我以前指出。

謝謝!

回答

2

查找到URL重寫。

如果使用IIS 7:Here

+0

Hi bechbd。我一定會考慮URL重寫模塊。我的問題是 - 是否可以重定向單個特定的URL。我對RegEx等不是很有經驗...... – BlueDev 2010-10-28 18:17:27

+0

是的,可以使用重寫來重定向單個URL。看看使用重寫地圖URL重寫:http://learn.iis.net/page.aspx/469/using-rewrite-maps-in-url-rewrite-module/ – bechbd 2010-10-28 18:51:41

1

我是新人上個月.NET和需要這種完全一樣的解決方案。大家推薦的URL重寫插件,如bechbd提到,但我只是期待轉發單個的URL。當然有辦法嗎?原來,沒有 - 因爲IIS 6非常愚蠢。相反,您需要將代碼放入實際頁面中(或者如果做了多個URL,則需要安裝插件)。

.ASP

<%@ Language=VBScript %> 
<% 
' Permanent redirection 
Response.Status = "301 Moved Permanently" 
Response.AddHeader "Location", "http://www.example.com/" 
Response.End 
%> 

.ASPX

<script language="VB" runat="server"> 
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Status = "301 Moved Permanently" 
    Response.AppendHeader("Location", "http://www.example.com/") 
    End Sub 
</script> 

我上個月剛剛和所有的搜索引擎實現了這個代碼基礎上,301S適當改變自己的指數。我在網頁上發現了一個代碼變體LOT,但上面的代碼在我的特定庫存IIS 6上運行良好。

+0

嗨退化。確切地說,我不需要RegEx重定向整個文章集合等等,只需要一個URL。困難的部分是 - 客戶端發送的URL在其開始處有一個子域,它設置爲轉發到某個頁面,而不是目錄。這意味着我無法將代碼放入實際頁面,因爲我無法創建文件夾結構。 – BlueDev 2010-10-28 18:15:23

+0

然後繼續並安裝IIS7重寫插件。對於IIS6來說安裝是一個很大的麻煩,但對於7而言看起來很容易,並且應該處理您擁有的子域問題。 – degenerate 2010-10-28 18:19:44

+0

「原來,沒有 - 因爲IIS 6非常愚蠢。」 - 大聲笑起來。這是非常令人沮喪的。 HeliconTech提供了一個很棒的工具,叫做ISAPI,它重寫了模擬Apache服務器中的.htaccess文件。不幸的是,由於技術上的限制,我無法使用它,而缺少替代品令人沮喪。 – plntxt 2012-01-10 16:43:14

0

URL重寫是正確的方式。在一個小問題中,或者停留在IIS6上,你可以創建一個虛擬目錄。包括似乎是一個文件名。而且任何虛擬目錄都可以是服務器端重定向。

爲了解決部門子域問題,關鍵問題是「這些網址上會運行什麼?」如果沒有,那麼只需設置一個站點來重定向整個事情。