VBScript code for setting HttpRedirect Property for a IIsWebFile programmatically
I was helping one of my colleague whose customer wanted a custom VBScript file which sets redirection for certain files under a virtual directory. He wanted to use VBScript alone to achieve this.
A IIsWebFile node will be created in the metabase only when you specifically set a property for the file like HttpRedirect through the IIS manager UI. The below script, gets the IIsWebVirtualDir object of the virtual directory we are interested in, creates a IIsWebFile node and sets it HttpRedirect property:
' Virtual Directory under which you need to create the IIsWebFile
vDirName = "IIS://localhost/w3svc/1/root/artinstitutes"
' Getting the Virtual Directory (IIsWebVirDir object)
Set IIsWebVirtualDirObj = GetObject(vDirName)
' Call the CreateAWebFile function and pass the IIsWebVirDir object we have with the file name and the redirect url
CreateAWebFile(IIsWebVirtualDirObj, "test.html", "/check.asp?id=0")
CreateAWebFile(IIsWebVirtualDirObj, "test1.html","/check.asp?id=1”)
' Commit the changes to the Metabase
IIsWebVirtualDirObj.SetInfo()
' This function takes 3 arguments
' 1 = IISObject – the container object
' 2 = filename – physical FileName which needs to be redirected
' 3 = redirectFileName – redirect URL
Function CreateAWebFile(ByVal IISObject, ByVal fileName, ByVal redirectName)
Set myFileCheck = GetObject(vDirname & "/" & fileName)
If (Err.Number <> 0) Then
Set myFile = IISObject.Create("IIsWebFile", fileName)
End If
myFile.HttpRedirect = redirectName & " ,PERMANENT" myFileCheck.SetInfo()
End Function
Hope this helps!