2013-09-21 60 views
1

我試圖在我的網站上的文件夾中顯示簡單的HTML文件。沒有ASP.NET,沒有應用程序,只是一個虛擬目錄。當我嘗試打開網頁時,瀏覽器中出現「拒絕訪問」。IIS拒絕訪問虛擬目錄中的簡單HTML文件

這是通過託管服務提供商;我只能通過FTP和IIS管理器進行訪問。

授權規則show Allow - All Users - Inherited。

我遠離IIS專家,大多數搜索結果要麼建議檢查文件系統中的文件夾權限(我無法直接訪問)或與應用程序相關。

我該如何診斷?


更多信息:

經過反覆試驗,我發現了原因,並圍繞它的工作與URL重寫。我仍然想知道爲什麼它正在發生(根本原因)以及如何更改IIS的行爲。

我將我的網站從Linux託管移到Windows託管。一些舊網址的格式爲:

http://www.MYSITE/myblog/index.php/2013/04/29/SOMEFILE.html 

我移動的有HTML文件,而不是PHP文件,但我試過鏡的文件夾結構。

問題出在index.php文件夾名稱中。無論我做什麼,即使啓用目錄瀏覽,IIS也不會讓我訪問具有該名稱的文件夾中的任何文件。如果我重命名文件夾(甚至是「擴展」部分),它都可以工作。

我已經掃描了許多IIS設置,並沒有發現任何禁止.php擴展的提及。這是怎麼回事?

回答

1

工作,經過反覆試驗,我發現了原因,並圍繞它的工作與URL重寫。

對於形式的URL:

http://www.MYSITE/myblog/index.php/2013/04/29/SOMEFILE.html

的問題是在index.php文件夾名稱。 IIS不會讓我訪問具有該名稱的文件夾中的任何文件。如果我重命名文件夾(甚至是「擴展」部分),它都可以工作。

1

您需要爲IIS用戶添加權限。嘗試添加用戶的權限添加用戶 IIS_IUSRS並給予必要的權限。

1.右鍵單擊文件夾,進入屬性 2.轉到安全選項卡 3.Click上的編輯,如果你沒有看到在用戶列表中IIS_IUSRS誰上添加有權限 4.Click,在在該框中添加IIS_IUSRS並點擊檢查名稱,將獲得合格名稱 。 5.Click確定並應用

希望它應該然後

+2

請注意,我只能通過FTP和IIS管理器訪問,如我的文章所述。我無法使用Windows資源管理器瀏覽文件系統。 – TrueWill

0

這讓人想起Joomla虛擬(SEO)網址。我假設你根本沒有靜態文件,但運行你站點的CMS程序會在「index.php」之後解析這些信息,作爲數據庫查詢的參數,用於動態創建html頁面。在這種情況下,唯一真正由Web服務器提供服務的文件是index.php,該程序根據輸入的參數包含其他php文件。不過,你在正確的軌道上,在目標服務器上創建一個小文件並嘗試加載它,但這意味着index.php目錄結構是沒有意義的。