2017-05-23 67 views
0

我正在開發一個經典的ASP網站項目,並嘗試添加一個Web窗體,該窗體將從用戶收集數據並將該數據發佈到API。我的網絡應用程序位於wwwroot \ subdir \ myapp,我的目標是在web.config中的.NET框架4.6.1。當我導航到瀏覽器中的網站(mydomain.com \ subdir \ myapp或mydomain.com \ subdir \ myapp \ Default.aspx)時,它會給我一個404錯誤。如果我重新加載一次,則會收到第二個404錯誤。但是,在第三次加載時,網站會在瀏覽器控制檯中加載所有資源(JavaScript/HTML/CSS),而不會出現任何錯誤。ASP.NET 4.6.1 Web窗體頁面404問題

我檢查了Web服務器(IIS 8.5)日誌,前兩個負載正在返回404.19錯誤。根據[1],此錯誤表明IIS由於過濾規則而拒絕對頁面的請求。但是,如果是這樣的話,爲什麼會在第三個請求中加載呢?

[1] https://support.microsoft.com/en-us/help/943891/the-http-status-code-in-iis-7.0,-iis-7.5,-and-iis-8.0

回答

0

網站目錄的檢查安全屬性。應用程序池的用戶應該具有讀訪問權限。 (默認是IUSR)。

+0

我檢查了我的新Web表單目錄和網站根目錄的安全屬性。我有兩個組,IUSR和IIS_IUSRS,都可以讀取wwwroot和wwwroot \ subdir \ myapp。 – kmangame0

+0

你有沒有檢查https://stackoverflow.com/questions/28276969/http-error-404-19-not-found-in-iis-8-5?也許查詢字符串或友好名稱使不同。還請檢查IIS網站配置中的過濾規則。 – MarBog

0

我想出了這個問題。正在逐個分析URL,並將其與與SQL注入關聯的關鍵字列表完全匹配進行比較。造成我的錯誤的詞是「更新」。通過在IIS管理器中爲.aspx請求設置失敗請求追蹤規則,我能夠找出解決方案。