2009-05-01 56 views
1

當我嘗試訪問一個頁面時,出現如下錯誤,但我可以查看完整的源代碼,源代碼沒有問題,我不知道IIS7爲什麼告訴瀏覽器XHTML頁面是XML ? (這不是我的瀏覽器的問題,因爲我問我的朋友來測試,他得到了同樣的結果)爲什麼IIS7將特定的XHTML頁面視爲XML頁面?

XML Parsing Error: not well-formed Location: http://www.xxxx.com/xxx.htm Line Number 44, Column 239:

奇怪的是,重新啓動IIS7後,網頁又很好的工作,但是也許幾個小時後,另一頁會得到完全相同的錯誤。這個問題讓我發瘋......

回答

0

XHTML is XML。這是有點點。它應該作爲application/xhtml+xml由網絡服務器發送,但IE瀏覽器在遇到該內容類型時仍然適用。不過,這是Web服務器發送XHTML數據的正確方法。

如果您的XHTML文件無法被解析爲有效的XML,那麼它也不是有效的XHTML,並且與HTML不同,瀏覽器將生成一個錯誤,就像您看到的一樣。 XHTML標準要求它做到這一點,而不是試圖解釋一些格式不正確的標籤湯,就像HTML解析器會。

+0

但至少它有一些IIS問題,正如我所提到的,當我重新啓動IIS時,頁面運行良好。而就在此時,另一個奇怪的事情發生了,當我嘗試訪問一個頁面時,FireFox要求我下載(顯示下載對話框),在同一頁面上,當我使用Chrome時,它只顯示源代碼,重新啓動IIS後或只是網站),它再次正常工作!這真的很奇怪... – silent 2009-05-01 13:58:31

0

進入INETMGR的mime-types部分,並將.xhtml添加爲application/xhtml + xml 這是IIS將使用該文件類型提供的正確MIME類型,否則它將調用註冊表中配置的任何內容。

0

您聽起來像是您的Web服務器的問題是將您的XHTML頁面作爲XML提供,但是您的頁面未經驗證爲XML。換句話說,您有一段破壞XML規則的網頁代碼,如缺少結束標記,錯誤屬性等。

上面所有的海報都是正確的.....如果您使用XHTML,它應該以XML形式提供。但是,如果您想刪除錯誤,並且無法修復網頁,則唯一的選擇是刪除Web服務器中作爲XML設置發送的XHTML。

相關問題