<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/Error.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
สำหรับใครที่ยังไม่เคยสร้างไฟล์ web.config ก็สร้างได้เลยครับ แบบเต็มๆ เขียนตามนี้
<?xml version="1.0"?>
<configuration>
<system.webServer>
<httpErrors>
<remove statusCode="401" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<!-- full url when responsemode is Redirect -->
<error statusCode="401" path="http://foo.com/default.htm" responseMode="Redirect" />
<!-- local relative path when responsemode is ExecuteURL -->
<error statusCode="403" path="/errors/403.htm" responseMode="ExecuteURL" />
<error statusCode="404" path="/somedir/oops404.htm" responseMode="ExecuteURL" />
<error statusCode="500" path="/somedir/500.asp" responseMode="ExecuteURL" />
</httpErrors>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
การเขียนแบบนี้ใช้ได้กับ error ดังต่อไปนี้ครับ
- 400 Error (bad request)
- 401 Error (unauthorized)
- 403 Error (forbidden)
- 404 Error (not found)
- 500 Error (internal server error)
ข้อสังเกต หากเราทำไฟล์ 404.html ไปไว้ใน path เดียวกับไฟล์ index นั้น อย่าลืมเติม "/" ก่อนชื่อไฟล์ด้วยนะครับเช่น
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
อีกอย่างนึงคือ ต้องครอบด้วย อย่าลืมนะแจ๊ะ
- </httpErrors>
- </system.webServer>
- </configuration>
เพิ่มเติมกันลืม หากใครอยากจะ Redirict 301 นะครับ ทำตามนี้เลย
<location path="newcontact.php">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.jumnum2go.com/contactus.html" httpResponseStatus="Permanent" />
</system.webServer>
</location>
ในตัวอย่างนี้จะเปลี่ยนหน้า newcontact.php ในเว็บให้เป็น contactus.html ครับ