2010-08-17 101 views
0

我在global.asax文件中實現了URL重寫,它在我的機器上完美工作,但不在現場環境中工作。不知道我應該看什麼來解決這個問題? 謝謝global.asax重寫不能正常工作

回答

0

內置於Visual Studio中的Web服務器使用ASP.NET引擎處理所有文件類型,但IIS只使用ASP.NET引擎處理實際執行的文件類型。

所以,Application_BeginRequest事件(以及類似)在Global.asax文件只發生像.aspx.asmx,而不是文件類型,如.html.css.jpg文件類型。

1

首先確保您設置了IIS以將所有相關的URI傳遞給ASP.NET引擎。如果路徑都以有限數量的所謂「擴展」結尾(例如.html,.png使URI看起來像帶文件擴展名的文件路徑),那麼您只需映射這個特定的擴展名(copy-從.aspx粘貼)。

如果您需要它來處理(或者至少檢查它是否應該處理),您需要設置更大範圍的URI來設置通配符處理程序。不同版本的IIS在完成這個過程中有所不同(當發生更改時,IIRC 5.0到6.0是不同的)。如果版本有一個地方可以在處理腳本映射的對話框中輸入通配符映射(或7.0中的「處理器映射」),那麼使用它,如果沒有,則爲。*定義映射(不要擔心關於這段時間,即使它們沒有一個,它仍然會匹配URI)。

還有其他的事情可能會出錯,但這是你的出發點,如果不對,它肯定會導致這個問題。