Forum Discussion
Need Help with Case Insensitive iRule for Apache Migration
Hi All,
I have been helping on migrating our Apache environments into our F5 and everything has been working well, until we noticed that case insensitivity is not working. Here is the issue I am running into:
If I go to www.website.com/test it works just fine. If I go to www.website.com/TEST, it does not work at all.
I have the rewrite profile in place and the following iRule as well:
when HTTP_REQUEST {
set uri [string tolower [HTTP::uri]]
if { not ( [HTTP::path] ends_with "/") && not (
[URI::basename [HTTP::uri]] contains "." ) } {
# Append slash and keep querystring when it exists
HTTP::uri [HTTP::path]/[expr { "[URI::query [HTTP::uri]]"
eq {} ? {} : "?[URI::query [HTTP::uri]]" }]
}
if { [string tolower [HTTP::uri]] starts_with "/apps" } {
pool ProxyPass_DEV_pool_2
}
else {
pool ProxyPass_DEV_pool_1
}
}
I figured line 2 "set uri [string tolower [HTTP::uri]]" would have fixed this but no dice. Any help would be greatly appreciated.
Thanks!
Line 2 is just setting it as a variable. Either you have to use the set variable in your code,
HTTP::uri $uri
or you have to use something like below,
HTTP::uri [string tolower [HTTP::uri]]
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com