[英]How to differentiate between / (the root) and /default.aspx in ASP.NET
Request.RawUrl始終返回/default.aspx變體。 我沒有發現在所有任何方式對這些網址進行區分。 有誰知道怎么做? IIS 7上的環境是.NET 3.5SP1。
在設計我的URL重寫器時,我實際上不得不解決同樣的問題。 它與您甚至可以訪問URL之前發生的過程有關。 要解決此問題,您必須確保在IIS 7中關閉默認頁面處理。 因為如果沒有默認的頁面處理,它將不會經歷嘗試將其映射到驅動器的額外步驟,因此您將是所請求的確切URL。 但這可能是也可能不是一個選項,具體取決於您是否使用System.Web.Routing
。
要關閉默認頁面處理,您需要執行以下操作:
或者您可以將以下內容添加到web.config
:
<system.webServer>
<!-- ... other tags here ... -->
<defaultDocument enabled="false" />
</system.webServer>
執行此操作后,默認文檔將不再添加到您的URL。 但是要注意,由於這不再是活動的,你不能依賴default.aspx實際映射到你的目錄,你必須手動處理它或使用像System.Web.Routing這樣的東西來處理這個功能。
要在IIS 6中完成相同的操作,您需要打開通配符:
以下說明適用於IIS 6。
注意:順便提一下,我在上面鏈接的網站上提供了所有來源的方式,你很好奇我是怎么做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.