1、這裡有篇文章(虛擬乙個win2003做伺服器執行asp.net程式,共享資料夾許可權問題)認為是共享資料夾許可權的問題,不過我都可以在虛擬機器裡直接建立.aspx檔案,並且把**程式直接複製到虛擬機器裡也是同樣情況,所以可以確定是iis問題而不是共享資料夾許可權問題。(後來證實在虛擬機器裡直接建立aspx是可以的,確實是虛擬機器的共享資料夾問題)
2、也非目錄檔名問題,我把共享資料夾的檔案路徑全部都設為英文,仍然是那個錯誤。
3、甚至我還按這裡說的放到根目錄下,作為乙個虛擬目錄而不是**,也不行。
4、按這裡說的把檔案所在的目錄設定為應用程式,在屬性-主目錄中設定,卻出現了另外一種情況:
伺服器應用程式不可用
您試圖在此 web 伺服器上訪問的 web 應用程式當前不可用。 web 瀏覽器中的「重新整理」按鈕重試您的請求。
管理員注意事項: 詳述此特定請求失敗原因的錯誤資訊可在 web 伺服器的系統事件日誌中找到。請檢查此日誌項以查明導致該錯誤發生的原因。
5、後來我還是把**檔案移到虛擬機器中 ,新建了乙個站點,沒有進行其他配置,無意竟發現可以了,一切正常。
檢視了下正常狀態下的許可權和應用伺服器設定,現在,可以找出這個問題的真正原因了:
iis6.0的預設設定是(我推算出來,而且還再虛擬了個2003才驗證得出的結論啊):
1、預設**的許可權安全裡沒有everyone組
2、aspnet_client及下級目錄的許可權安全裡有everyone組
3、預設**有建立乙個應用程式「預設應用程式」
4、aspnet_clent沒有應用程式,需要自己建立。
5、新建站點或目錄沒有everyone組。無論此站點或目錄的上級資料夾是否有everyone許可權。(第一次新建站點或目錄都只開放administrators跟system許可權)
6、新建站點或目錄會新建應用程式,無論此應用程式的上機目錄或**是否有應用程式。
7、 但iis有個特性,就是建立新站點時的許可權並非按他預設的設定,而是按你上一次的設定而建立。比如上次如果給某個**開放everyone許可權,那麼這次 新建的**就會是everyone許可權的。反之則建立的**或目錄沒有everyone許可權。上面的3、4兩點就失效了。
8、不過應用程式設定並無這個特性,新建站點或目錄時都會自動建立應用程式。
而aspx**需要正常執行的配置為:
1、許可權安全組裡必須包含ereryone。而iis6裡的那個「預設**」下的aspnet_client目錄安全裡就有everyone許可權 組,所以才如上面第三點說的,有人把**放到預設**的目錄下就可以了。注意:「預設**」安全裡並無everyone組,所以我之前做的把**放在跟 aspnet_client並列的目錄是不行的,因為那樣跟隨的就是「預設**」的目錄安全設定,沒有開放everyone許可權。
2、必須建立應用程式,不管是**還是虛擬目錄。不過預設其實都是幫我們建立好的,
錯誤速查:
1、.html可正常訪問,訪問.asp出現:http/1.1 新建應用程式失敗;訪問aspx檔案出現:
無法顯示網頁
您正在查詢的頁當前不可用。 **可能遇到支援問題,或者您需要 調整您的瀏覽器設定。
….找不到伺服器或 dns 錯誤
internet explorer
則是整個站點都沒有建立應用程式(不管整個站點是不是everyone許可權)
2、.html可正常訪問,.asp可正常訪問;而任何.aspx都出現:
伺服器應用程式不可用
您試圖在此 web 伺服器上訪問的 web 應用程式當前不可用。 web 瀏覽器中的「重新整理」按鈕重試您的請求。
管理員注意事項: 詳述此特定請求失敗原因的錯誤資訊可在 web 伺服器的系統事件日誌中找到。請檢查此日誌項以查明導致該錯誤發生的原因。
則應該是整個**或整個目錄都沒有everyone許可權(肯定有建立應用程式,否則就是上面的那種情況了)
4、.html可正常訪問,.asp可正常訪問;而.aspx正常或出現:
「/」應用程式中的伺服器錯誤。
——————————————————————————–
配置錯誤
說明: 在處理向該請求提供服務所需的配置檔案時出錯。請檢查下面的特定錯誤詳細資訊並適當地修改配置檔案。
分析器錯誤資訊: 載入配置檔案時出錯: 由於訪問被拒絕,未能開始監視對「c:\inetpub\wwwroot\chenfangyi.com\web.config」的更改。
源錯誤:
[沒有相關的源行]
原始檔: c:\inetpub\wwwroot\chenfangyi.com\web.config
行: 0
——————————————————————————–
版本資訊: microsoft .net framework 版本:2.0.50727.832; asp.net 版本:2.0.50727.832
這就是我一開始出現的問題。這樣則說明該站點(上級的上機目錄)有應用程式,有兩種可能:(1)、當前虛擬目錄既沒有建立 應用程式也沒有開放everyone目錄(比如開始時我把虛擬目錄架設在預設**下,就是這個情況)。(2)、雖然有建立應用程式,但許可權無法更改(比如 我開始時把網路上的芳鄰裡的目錄設為**或者某個目錄就老出現這個情況) 。
第一種情況很好解決,為此目錄開放everyone許可權並建立應用程式即可。而第二種情況暫時還無法解決。
5、html可正常訪問,.asp可正常訪問;而.aspx出現:
「/chenfangyi.com11」應用程式中的伺服器錯誤。
——————————————————————————–
配置錯誤
說明: 在處理向該請求提供服務所需的配置檔案時出錯。請檢查下面的特定錯誤詳細資訊並適當地修改配置檔案。
源錯誤:
行 9:
行 10:
行 11:
行 12:
行 13:
原始檔: c:\inetpub\wwwroot\chenfangyi.com\web.config
行: 11
顯示其他配置錯誤:
——————————————————————————–
版本資訊: microsoft .net framework 版本:2.0.50727.832; asp.net 版本:2.0.50727.832
或類似的「應用伺服器錯誤」,那說明是站點(上級的上機目錄)有應用程式,但當前虛擬目錄卻沒有建立應用程式。為此目錄建立應用程式即可解決。
6、.html可正常訪問,.asp可正常訪問;而.aspx正常或出現:
「/」應用程式中的伺服器錯誤。
——————————————————————————–
編譯錯誤
說明: 在編譯向該請求提供服務所需資源的過程中出現錯誤。請檢查下列特定錯誤詳細資訊並適當地修改源**。
編譯器錯誤資訊: aspnet: 請確保此**檔案中定義的類與「inherits」屬性匹配,並且該類擴充套件的基類(例如 page 或 usercontrol)是正確的。
源錯誤:
行 10: using system.web.ui.htmlcontrols;
行 11:
行 12: public partial class default : system.web.ui.page
行 13: {
行 14:
protected void page_load(object sender, eventargs e)
原始檔: c:\inetpub\wwwroot\chenfangyi.com\default.aspx.cs
行: 12
顯示詳細的編譯器輸出:
或類似的錯誤,則說明iis設定正常,只是普通的aspx頁面**錯誤。
IIS許可權設定
經常一設定許可權就迷茫 iis web 伺服器的許可權設定有兩個地方,乙個是 ntfs 檔案系統本身的許可權設定,另乙個是 iis 下 預設 右擊屬性 虛擬目錄 面板上。這兩個地方是密切相關的。下面我會以例項的方式來講解如何設定許可權。指令碼資源訪問 使用者可以對 目錄的指令碼檔案有操作的許可權,前...
IIS許可權設定
指令碼資源訪問 使用者可以對 目錄的指令碼檔案有操作的許可權,前提是開啟讀取或者寫入許可權,開啟讀取許可權就有讀取指令碼檔案 源 的許可權,開啟寫入許可權就有寫入指令碼檔案的許可權。如果開啟寫入許可權不開啟指令碼資源訪問許可權,則只有上傳普通檔案的許可權,沒有修改為指令碼檔案字尾的許可權。6 個選項...
IIS許可權設定
iis許可權設定 雖然 apache 的名聲可能比 iis 好,但用 iis 來做 web 伺服器的人一定也不少。說實話,iis 還是不錯的,尤其是 windows 2003 的 iis 6 馬上 longhorn server 的 iis 7 也就要來了,相信會更好 效能和穩定性都相當不錯。但是許...