Classic ASP seviyesinde URL Rewrite bulunmadığından ASP Programcıları genelde 404 ve diğer hata sayfalarından yararlanarak isteği ASP scriptlerine yönlendirirler ve URL’yi yorumlayıp çıktıyı ziyaretçiye ulaştırırlar. Bu döküman site üzerindei http durum kodlarını sitenin kök klasöründe duran 404.asp ye yönlendiren appcmd komut setini verir.

script.bat

@echo off
appcmd.exe set config "domain.com" -section:system.webServer/httpErrors /+"[statusCode='400',path='/404.asp',responseMode='ExecuteURL']"
appcmd.exe set config "domain.com" -section:system.webServer/httpErrors /[statusCode='401',subStatusCode='-1'].prefixLanguageFilePath:"" /[statusCode='401',subStatusCode='-1'].path:"/404.asp" /[statusCode='401',subStatusCode='-1'].responseMode:"ExecuteURL"  
appcmd.exe set config "domain.com" -section:system.webServer/httpErrors /[statusCode='403',subStatusCode='-1'].prefixLanguageFilePath:"" /[statusCode='403',subStatusCode='-1'].path:"/404.asp" /[statusCode='403',subStatusCode='-1'].responseMode:"ExecuteURL"  
appcmd.exe set config "domain.com" -section:system.webServer/httpErrors /[statusCode='404',subStatusCode='-1'].prefixLanguageFilePath:"" /[statusCode='404',subStatusCode='-1'].path:"/404.asp" /[statusCode='404',subStatusCode='-1'].responseMode:"ExecuteURL"  
appcmd.exe set config "domain.com" -section:system.webServer/httpErrors /[statusCode='500',subStatusCode='-1'].prefixLanguageFilePath:"" /[statusCode='500',subStatusCode='-1'].path:"/404.asp" /[statusCode='500',subStatusCode='-1'].responseMode:"ExecuteURL"  

IIS üzerinde barındırılan domain.com web sitesinin “Error Pages” modülünü manipule eden bu script 400, 401,403, 500 hata kodlarını 404.asp ye yönlendirilmesini sağlar. Bu script çalıştıktan sonra Web.config aşağıdaki şekilde oluşturulacaktır.

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors>
            <remove statusCode="500" subStatusCode="-1" />
            <remove statusCode="404" subStatusCode="-1" />
            <remove statusCode="403" subStatusCode="-1" />
            <remove statusCode="401" subStatusCode="-1" />
            <error statusCode="400" path="/404.asp" responseMode="ExecuteURL" />
            <error statusCode="401" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
            <error statusCode="403" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
            <error statusCode="404" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
            <error statusCode="500" prefixLanguageFilePath="" path="/404.asp" responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

Yazar

Bir Cevap Yazın