簡體   English   中英

IIS7.5為什么不顯示帶有URL重寫的默認文檔?

[英]Why doesn't IIS7.5 show my default document with URL rewriting?

我正在使用IIS7.5。 我有一個簡單的ASP.NET Webforms站點,該站點在global.asax中使用基本的URL重寫,攔截對.aspx頁的請求並將它們傳遞到各種模板頁。

例如,您可以請求http://www.mysite.com/default.aspx 在global.asax中,我首先檢查該頁面是否以“ true”頁面存在。 如果沒有,我將轉到數據存儲以獲取詳細信息,然后重定向到template.aspx?page = default(或類似名稱)。

這一切都很好。 但是,有一個問題。 如果我瀏覽到http://www.mysite.com/default.aspx,則會得到我期望的頁面。 如果在web.config或IIS中將默認文檔設置為default.aspx,然后瀏覽至http://www.mysite.com/ ,則會收到有關不允許目錄瀏覽的錯誤。

在這種情況下,為什么IIS忽略默認文檔? 似乎是因為文件“ default.aspx”不存在。 如果是這種情況,是否有解決該問題的方法?

編輯

需要澄清的是,我無法控制IIS系統,它實際上是在基本的主機上,盡管我可以請求進行一些更改,所以我不能使用任何URL重寫模塊。

針對您的情況的解決方法:創建Index.aspx作為物理文件的默認文檔,並將用戶重定向到Default.aspx URL。 因此,當用戶訪問mysite.com/時,index.aspx將啟動並強制重定向到default.aspx,后者可以處理您的模板重定向邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM