Convert url to lower case using htaccess except query string

.htaccess, lowercase, php, query-string

Solution

First You have to add this to your httpd.conf:

RewriteMap lc int:tolower

Then paste the below code into your `.htaccess`

RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_URI} ^[^A-Z]*[A-Z].*
RewriteRule ^ ${lc:%{REQUEST_URI}} [L,R=301]

This code redirct the url like from

`www.tESTUrl.com/sOMePath/?q=SomeStringHere`

to `www.testurl.com/somepath/?q=SomeStringHere`

Problem

Am struggling with a htaccess problem. I need to convert all the URLs from uppercase to lowercase. But the query string alone should be the same. For example, ``` www.tESTUrl.com/sOMePath/?q=SomeStringHere ``` should be converted as, ``` www.testurl.com/somepath/?q=SomeStringHere ``` Please help to fix this. Thanks in advance.

Original source