2015-10-15 30 views
3

編輯:我在發佈這個問題幾分鐘後就想出了它。請參閱下面的答案。爲什麼我的自定義404頁面在IIS 7.5上的ColdFusion站點上出現404錯誤的情況下被重定向?我該如何解決它?

我正在使用的這個站點是使用ColdFusion構建的,Web服務器是IIS 7.5。我創建了一個自定義的404頁面/error.cfm,並且我試圖將代碼添加到web.config文件中,以便當用戶收到404錯誤時,它們將被重定向到error.cfm作爲自定義404頁面。但它根本沒有工作,它給了我默認的「IIS 7.5詳細錯誤 - 404.0 - 未找到」頁面。

有人可以看看我的web.config代碼,並告訴我,如果它有什麼問題,或者如果我能以某種方式修復這個自定義404頁面?

<?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
     <system.webServer> 
      <rewrite> 
       <rules> 
        <rule name="Redirect to WWW" stopProcessing="true"> 
         <match url=".*" /> 
         <conditions> 
          <add input="{HTTP_HOST}" pattern="^example.com$" /> 
         </conditions> 
         <action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" /> 
        </rule> 
       </rules> 
      </rewrite> 
      <httpErrors> 
       <remove statusCode="404" subStatusCode="-1" /> 
       <error statusCode="404" path="/error.cfm" responseMode="Redirect" /> 
      </httpErrors> 
      <modules runAllManagedModulesForAllRequests="true"/> 
     </system.webServer> 
    </configuration> 

正如你所看到的,我還將所有非www鏈接重定向到www。我不確定這是否會以任何方式干擾自定義404頁面,但我想我會提及它以防萬一。

回答

2

我修好了。我不得不進入cPanel,尋找「IIS設置」,找到「自定義錯誤」並在那裏設置URL。但是,如果我輸入http://www.example.com/error.cfm,我不得不放入http://example.com/error.cfm(沒有www)。

+1

很高興你的工作。如果你很好奇,你應該能夠看到已經創建的新web.config文件,並看看它與你有什麼不同。另外,在指定自定義錯誤處理程序URL時,通常不會包含域。我只是用web根目錄中的相對URL來指定它。 '/ error.cfm'在你的情況。 –

相關問題