編輯:我在發佈這個問題幾分鐘後就想出了它。請參閱下面的答案。爲什麼我的自定義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頁面,但我想我會提及它以防萬一。
很高興你的工作。如果你很好奇,你應該能夠看到已經創建的新web.config文件,並看看它與你有什麼不同。另外,在指定自定義錯誤處理程序URL時,通常不會包含域。我只是用web根目錄中的相對URL來指定它。 '/ error.cfm'在你的情況。 –