Solved

.htaccess rewrite/redirect problem (case is changing)

Posted on 2007-03-26
5
173 Views
Last Modified: 2010-03-04
I have a website (Apache 1.3.37 on Linux) which has four domains pointed to it (olddomain1.com, olddomain2.com, olddomain3.com and newdomain.com).  I am trying to modify the .htaccess file so that whenever someone browses to it using the old domain names they are (permanently) redirected to the same page but using the new domain name.  

For example when someone requests
      http://www.olddomain2.com/Cust/Index.html
they should be redirected (permanently) to
      http://www.newdomain.com/Cust/Index.html

This is what I have in the .htaccess file:

      Options All -Indexes +FollowSymLinks
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^www\.olddomain1\.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^olddomain1\.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^www\.olddomain2\.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^olddomain2\.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^www\.olddomain3\.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^olddomain3\.com$ [NC,OR]
      RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

My problem is, when I browse to a web page the domain name replacement happens but the path and file name of the page is transformed into lowercase.  Naturally this doesn't work as the web server is case sensitive.

For example, when I browse to:
      http://www.olddomain2.com/Cust/Index.html
I receive:
      http://www.newdomain.com/cust/index.html

Could someone please help me to correct the .htaccess file so that I have permanent redirections from the old domain names but preserves the case of the path and filename of the web pages so that they display?

Thank you for your time.
0
Comment
Question by:twixt
  • 3
  • 2
5 Comments
 
LVL 11

Accepted Solution

by:
JamesCssl earned 500 total points
ID: 18797695
Try taking out the OR option of the last RewriteCond
0
 

Author Comment

by:twixt
ID: 18797817
Thanks for your comment.  I did try it but it didn't help.
0
 
LVL 11

Expert Comment

by:JamesCssl
ID: 18797992
I don't see anything in your code that would cause this.  I am using almost the same code for my site, and it keeps the Capitalization when redirecting.
0
 

Author Comment

by:twixt
ID: 18798013
Thanks for your time.  I found an answer in another forum.  The last RewriteCond must not have an [OR] at the end.  Now it seems to work.  Why it should affect the capitalisation I have no idea.  

Someone did alert me to an Apache bug that sounds similar but the bug report says that that bug is only on Windows systems and has been fixed in Apache 2. (http://issues.apache.org/bugzilla/show_bug.cgi?id=23460)

Thanks
0
 

Author Comment

by:twixt
ID: 18804682
>>I found an answer in another forum.

If you are interested: http://www.webmasterworld.com/apache/3293896.htm
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In my time as an SEO for the last 2 years and in the questions I have assisted with on here I have always seen the need to redirect from non-www urls to their www versions. For instance redirecting http://domain.com (http://domain.com) to http…
If you are running a LAMP infrastructure, this little code snippet is very helpful if you are serving lots of HTML, JavaScript and CSS-related information. The mod_deflate module, which is part of the Apache 2.2 application, provides the DEFLATE…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question