2009-10-21 78 views
1

我正在使用url rewriting.net。我正在測試本地主機上的網頁,它已成功運行。但是當我將web部署到遠程主機時,url重寫不起作用。問題是(無法找到資源)。我發現問題。我部署的遠程主機IIS配置是(虛擬目錄 - >屬性 - >主目錄 - >應用程序映射 - > .aspx->編輯 - >「檢查文件是否存在」被選中)。我需要取消選中它們。但是我部署的主機控制面板沒有應用程序映射功能。是否有可能從網絡配置更改IIS設置

如何使用web.config取消選中此選項?

可能嗎?

你有什麼想法嗎?

+0

這是在IIS6或IIS7上嗎? – Kev 2009-10-21 10:32:30

+0

我不知道。也許IIS7 – ebattulga 2009-10-21 10:39:50

回答

2

IIS6

如果這是IIS6那麼遺憾的是沒有辦法通過你的ASP.NET web.config文件,以更改腳本映射設置。

您需要找到一個允許通過控制面板進行配置更改的託管服務器,或者要求您現在的託管服務器(很好地)爲您更改此設置。

IIS7

如果這是IIS7,那麼你需要一個<system.webServer />配置部分添加(如果它不存在的話)你web.config文件並修改處理程序的行爲:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers> 
      <!-- remove existing handlers --> 
      <remove name="PageHandlerFactory-ISAPI-2.0" /> 
      <remove name="PageHandlerFactory-Integrated" /> 
      <!-- add back but set resourceType="Unspecified" to prevent 
       checking if file exists --> 
      <add name="PageHandlerFactory-ISAPI-2.0" 
       resourceType="Unspecified" 
       path="*.aspx" 
       verb="GET,HEAD,POST,DEBUG" 
       modules="IsapiModule" 
       scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" 
       requireAccess="Script" 
       preCondition="classicMode,runtimeVersionv2.0,bitness32" 
       responseBufferLimit="0" /> 
      <add name="PageHandlerFactory-Integrated" 
       resourceType="Unspecified" 
       path="*.aspx" 
       verb="GET,HEAD,POST,DEBUG" 
       type="System.Web.UI.PageHandlerFactory" 
       preCondition="integratedMode" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

這隻有在您的託管服務器具有對處理程序映射功能的讀/寫訪問權限的情況下才有效。

我會很驚訝,但如果這是IIS 7和PageHandlerFactory-ISAPI-2.0PageHandlerFactory-Integrated處理程序被配置爲resourceType="File"resourceType="Either"。開箱即用,它們被配置爲不檢查文件和文件夾的存在。

+0

如果主機是IIS7,如何配置? – ebattulga 2009-10-21 10:41:24

相關問題