2010-02-08 68 views
1

我已經在我的生活中創建了幾個IIS網站,但前幾天我的一位朋友要求我託管他的網站,所以我在inetpub/wwwroot中創建了一個文件夾存儲它。無法在IIS上設置我的ASP.NET 3.5網站

然後,我在我的默認網站中創建了一個虛擬目錄(該文件夾因爲它位於wwwroot上而出現)並創建了該應用程序,並且允許腳本&可執行文件的權限。此外,我已經設置了網站的適當文檔類型(default.aspx,asp等),並且該文件夾具有我通常授予的所有權限:iusr,iwmp,asp.net,network等。

當我重置IIS服務,再看看網站(我已經添加了頭太)我得到以下錯誤:

You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.

我一直在尋找互聯網上一段時間,我發現的唯一的事情是允許可執行文件到我的網站,我已經完成了。

但是,當我刪除了asp.net頁面並且我只添加了一個html文件時,它將顯示在瀏覽器上。

有沒有人有任何線索?

+0

您正在運行的是哪個版本的IIS? – Andrew 2010-02-08 14:52:43

+0

我正在運行6.0 – 2010-02-08 15:02:47

回答

1

走進Web服務器擴展文件夾下的IIS管理器,並確保你已經允許asp.net 2.0應用程序運行

+0

允許。雖然這個網站在3.5框架下運行。我是否也必須將其添加到Web服務器擴展?在這種情況下,我必須添加哪個dll文件? – 2010-02-08 15:03:49

1

你IUSR帳戶需要讀取你創建的目錄/寫權限。

+0

它已經有了。 – 2010-02-08 15:27:25

+0

@Matt - 如果爲匿名用戶帳戶設置了錯誤的NTFS權限,您將在瀏覽器中獲得一個彈出窗口詢問憑據。 – Kev 2010-02-08 15:40:09

0

您收到的錯誤肯定意味着您的腳本執行權限不正確。在IIS管理器中,回到相關文件夾,然後仔細檢查相關文件夾/虛擬目錄的「目錄」選項卡上的設置。

你也應該用一個經典的ASP腳本(文件中只有<% Response.Write "Hello" %>)來試試這個,只是爲了確定,但我相信結果是一樣的。

如果仍有問題,請打開IIS元數據庫(位於C:\WINDOWS\system32\inetsrv\metabase.xml)並找到相關文件夾。要做到這一點,搜索(假設你把網站的默認Web站點下)以下字符串:

Location ="/LM/W3SVC/1/ROOT"

這應該找到IIsWebVirtualDir默認Web站點的根目錄。它看起來像這樣:

<IIsWebVirtualDir Location ="/LM/W3SVC/1/ROOT"` 
    AccessFlags="AccessRead | AccessScript" 
    AppFriendlyName="Default Application" 
    ...other attributes... 
    > 
</IIsWebVirtualDir> 

向下滾動一下,直到找到與您將朋友網站放入的文件夾相匹配的位置路徑。

Location ="/LM/W3SVC/1/ROOT/JoesSite"

當你發現這一點,看看在AccessFlags屬性,它應該看起來像:

AccessFlags="AccessRead | AccessScript"

告訴我們你的元數據庫節點上看到的。

-1

那麼,因爲它是一個網站,而不是一個網絡應用程序,它似乎沒有作爲一個虛擬目錄,但它作爲一個IIS網站。

謝謝。

布賴恩

-1

打開iis。然後在左窗格中選擇應用程序池。在池中選擇指定的站點。右鍵單擊並打開高級設置,然後根據需要更改.NET版本。