2009-10-12 91 views
1

我有一個經典的asp webapp,我需要實現url重寫。我之前使用了asp.net應用程序中的intelligencia url重寫器,所以我目前的思路是創建一個新的asp.net應用程序,將url重寫組件添加到它,然後在頂部添加經典的asp應用程序。它託管在共享網站空間中,因此我無法將isapi組件添加到網絡服務器。在經典的asp webapp中使用intelligencia url re-writer

這是正確的方式嗎?我需要做些什麼配置更改才能讓經典的asp和asp.net開心地坐在一起?

任何意見將不勝感激。

回答

1

您可能可以使用404.asp來執行此操作。我在IIS6上運行HELM,可以像這樣使用我的404.asp:

URLPath = LCase(Replace(Request.Servervariables("QUERY_STRING"), "404;http://" & Request.ServerVariables("SERVER_NAME") & ":" & Request.Servervariables("SERVER_PORT"), "")) 

If URLPath = "/lalala" Then 
    Response.Status="200 OK" 
    Response.Write "La la la!" 
Else 
    Response.Status="404 Not Found" 
    Response.Write "File not found." 
End If 
+0

Hi Oskar。這不是我目前正在採取的方針,但是如果我沒有得到一個智能URL重寫和.net的結果,那麼我會嘗試你的角度。我不確定url重寫器是否會在引擎蓋下使用相同的想法,但是我擔心如果搜索引擎將其視爲某種隱藏技術。目前我知道谷歌沒有問題,我跟隨的技術...唯一的麻煩是我不知道它是否會工作。 – Rich 2009-10-13 15:56:03

+0

@Oskar 已經放棄了我正在採取的角度,並認爲你的路線是最好的前進方向。一個問題是,在沒有找到該頁面並且網絡服務器提供了自定義404的時間之前,客戶端(搜索引擎或瀏覽器)是否意識到該頁面尚未找到並且正被重定向?或者這部分對客戶是完全隱藏的。即客戶端看到的唯一狀態碼,我們在404.asp的Response.status =行中編碼的內容? – Rich 2009-10-15 11:13:33

+0

客戶端將只接收由此腳本確定的狀態,不會發送額外的404和3XX狀態。至少這就是它在我的系統上的工作原理。你可以使用這個工具來檢查:http://www.seoconsultants.com/tools/headers.asp – 2009-11-16 10:17:40