.htaccess - 301 redirect but change URL to all lower case in apache -


i'd set 301 redirect in apache change case of original address before redirecting. example if enters:

www.website1.com/userofmixedcase 

it should forward to

www.website2.com/userofmixedcase 

would redirect or need rewrite? i'm not fussed individual page forwarding (eg www.website2.com/userofmixedcase/whatever.php) - www.website1.com/whatever.

thank in advance, richard

you need define rewrite map using apache's internal tolower function. can done in vhost or server config, , result in error if try put these directives in htaccess file:

rewriteengine on rewritemap lowercase int:tolower 

then, in htaccess file, can use above rewrite rules have. redirect rules must before whatever rules may have routing:

# check lower case version of uri different unchanged uri rewritecond %{request_uri} ^/([^/]+)$ rewritecond ${lowercase:%1}::%1 !^(.*)::\1$ rewriterule ^/?(.+)$ http://www.website2.com/${lowercase:$1} [l,r=301] 

this redirect request http://www.website1.com/userofmixedcase http://www.website2.com/userofmixedcase, replacing url in browser's address bar 1 that's lowercase. note won't affect urls multiple path nodes, e.g. http://www.website1.com/some/pathname/userofmixedcase. if want affect requests including ones have multiple paths/subdirectories, need change line:

rewritecond %{request_uri} ^/([^/]+)$ 

to:

rewritecond %{request_uri} ^/(.+)$ 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -