Forum Discussion
Arie
Oct 16, 2014Altostratus
This should do it. Just create a class (type: string) with the name "class_exceptionList" and populate it with the folder names (in lower case) that shouldn't be redirected.
when HTTP_REQUEST {
extract the string between the first and second slash,
assuming that this is always the hostname to redirect to.
Use a skip count of 1 to strip the first slash.
set firstFolder [findstr [string tolower [HTTP::path]] "/" 1 "/"]
Remove the first folder from the uri unless it's listed in the class.
Using "string map" because it retains the case of the URI.
(important for Linux/Apache, and also to retain the case
of any query strings)
if { [class match $firstFolder equals class_exceptionList } {
set uri [string map -nocase {"/$hostname" ""} [HTTP::uri]]
HTTP::respond 301 Location "http://$firstFolder$uri"
}
}