Solved

mod_rewrite C names to A names

Posted on 2006-06-30
13
301 Views
Last Modified: 2010-03-04
I am a complete mod_rewrite new bie and despite review lots of answers, feel nervous about trying to adapt some answers that seem close to what i need, so let me ask this fresh:

For the domain hinduismtoday.com  we have set the A name www.hinduismtoday.com to the IP.  then we have several CName alias which resolve to the same IP but are entered in the DNS as "www.hinduism-today.com  is  an alias for www.hinduismtoday.com"

On some other domain's our DNS admin has not been consistent and he set other domain names up as A names to the same IP . we can convert those to Cnames if that helps us here...

what I want to do is have mod_rewrite take all alias url's and A name url pointing to the same IP and re-write them to one common, base A name. the goal here is simple: prevent search engines from indexing pages at  a diversity of URL, when in fact they are all the same page on the same web site.

simply stated:   if someone enters (or Google follow a link on a third party site to:) www.hinduism-today.com/ or any www.hinduism-today.com/*foofileOrDirectory/,  we want Apache to  return n: http://www.hinduismtoday.com//*foofileOrDirectory/ for all instances. This will let  us set up site specific searching, which doesn't work now because Google's indexing of our sites is fragmented across a diversity of URL's. so, a  site specific search will not pick up pages indexed until a CNAME url.

I know this has been asked and answered, but if someone could give me the mod_rewrite code  for  a  .htaccess  file test with a line by line brief explanation of what each line does, I will be most grateful! Also, let me know if having multiple Aname entries inthe DNS for the same IP will be handled the same by mod_rewrite, or if we should change all those to CNAMEs for the primary A NAME.

Thanks!
Sivakatirswami


0
Comment
Question by:Sivakatirswami
  • 7
  • 6
13 Comments
 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022144
I found a nice Cheat Sheet for the mod_rewrite module which may help you to write your statement to redirect properly.
http://www.ilovejackdaniels.com/apache/mod_rewrite-cheat-sheet/

I will see what I can come up with to do what you want.
0
 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022145
Oh, wow.  First line of the cheat sheet tells you exactly how to do it.  :)

RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301,L]

I hope this helps.
0
 

Author Comment

by:Sivakatirswami
ID: 17022165
Oh My Goodness! Let us hope is it that easy..

testing..... Hmmm doesn't work: my.htaccess at the top of the site:

errorDocument 404 /cgi-bin/redirect.cgi
RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301,L]

try it:

http://www.hinduism-today.com/past_issues.shtml

Nothing happens to the URL. BTTDB  (back to the drawing board) :-)

0
 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022166
Let me doe some tests.  I will post my results in a few minutes.
0
 
LVL 8

Accepted Solution

by:
RWJDCom earned 500 total points
ID: 17022172
I just tested it on my server and it works fine.  Here's an exact copy of my .htaccess file in the /home2/filehost/public_html directory:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.filehost.me.uk [NC]
RewriteRule ^(.*)$ http://www.filehost.nu/$1 [R=301,L]


I have www.filehost.me.uk set as an A record to the same IP as the www.filehost.nu domain and it redirects everything just fine.  Are you sure that you have the RewriteEngine turned on?  Add this to your .htaccess file in the root of your home directory:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteRule ^(.*)$  http://www.hinduismtoday.com/$1 [R=301,L]

It should work fine for you.
0
 

Author Comment

by:Sivakatirswami
ID: 17022205
Oh... "duh"   "RewriteEngine On" was all that was missing..

OK it works!

try it:

http://www.hinduism-today.com/

now, how to handle multiple CNAMES ?  just keep adding set of  lines for each?

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.hinduismtoday.org [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301,L]

This works, and doesnt' seem to cause any slow down... That cheat sheet was great... I actually understand the code... by removing the "L" flag at the end of the first interation, it drops through...seems to work fine, but my code brain thinks this is not very efficient... having to declare the re-write twice in the same  loop. I mean, not a problem, I can live with it, but the little Obsessive Compulsive Clean Code Gremlin that lives on my left shoulder is frowning :-)

Thanks!

0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022232
Works perfectly, I got bounced to the non-hyphenated domain right away.  Yeah, that cheat sheet is awsome.  I bookmarked it because I always have problems writing rewrite conditions/rules.

As far as adding a loop mod_rewrite is just a type of "filter" and you need to just put statement after statement for all of the domains you want to be redirected but like you said, it doesn't cause any slowness or anything which is great.  I've never had any problems with the mod_rewrite engine slowing anything down, even with complex .htaccess files.

Glad I could help.
0
 

Author Comment

by:Sivakatirswami
ID: 17022243
OK, yes, I thought I had tested this and it failed, but it is working now...



errorDocument 404 /cgi-bin/redirect.cgi
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteCond %{HTTP_HOST} ^www.hinduismtoday.org [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301,L]

Fabulous. Thank you for your "responsiveness" I mean, you turned this around about as fast as it could be...

Sivakatirswami
0
 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022254
I think I have become addicted to Experts Exchange.  I signed up last month and never used it until 2 days ago.

I'm glad I could help ya..
0
 

Author Comment

by:Sivakatirswami
ID: 17022271
Yes, EE is marvelous... in fact I would go so far as  to say that is a far reaching innovation in human consciousness. I guess that sounds "over the top" but where else to you find 3 million people working together, helping each other?! It's such a breath of fresh air from what we see in the news and compared to what the "greed mongers" of  international companies are doing.

and my Tech support at ServePath want to charge a minimum $150.00 for an hour's work to do this mod_rewrite  for me... I thought, "That's just mad... let me  go to to EE"

I've been with EE for two years. So hopefully it will make a contribution to a new breed, a new generation of people for a better world. There I go again, getting romantic over the wonders of the internet...

Sivakatirswami
0
 

Author Comment

by:Sivakatirswami
ID: 17022325
Oops! I may have to get my points back! (just kidding)

but I'm not getting consistent results from FireFox

http://www.hinduismtoday.org/archives/2006/1-3/

should rewrite to

http://www.hinduismtoday.com/archives/2006/1-3/

but, it is not

http://www.hinduismtoday.org/   works fine --> http://www.hinduismtoday.com/index.shtml is served

Also for now for some wierd reason

http://www.hinduism-today.org/past_issues.shtml

gives me "Server Not Found"

So there must be some RegEx missing here:

errorDocument 404 /cgi-bin/redirect.cgi
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.hinduism-today.com [NC]
RewriteCond %{HTTP_HOST} ^www.hinduismtoday.org [NC]
RewriteRule ^(.*)$ http://www.hinduismtoday.com/$1 [R=301,L]
0
 
LVL 8

Expert Comment

by:RWJDCom
ID: 17022404
Your right, it is nice to see people working together for once rather than just trying to extort outrageous amounts of money out of people to do simple little things where if they company who is doing the systems administration doesn't know what they are doing they will come here and ask questions and still charge you $150 an hour for the answers they got for free from here.  :/

Well, I checked into the problems you were having and found a solution which will fix it.

I just did a test and if you have...

RewriteCond ...
RewriteCond ...
RewriteRule ...

It does not work, BUT, if you have...

RewriteCond ...
RewriteRule ...

RewriteCond ...
RewriteRule ...

It works fine.   I guess what you will need to do is setup a RewriteCond and RewriteRule for every domain you need to forward.  I know it's alot of conditions and rules but it still doesn't cause any performance issues it just makes the .htaccess file big.  :/

Hmm...  As far as the www.hinduism-today.org it is giving me DNS issues, it seems like there are no records for it...
Server:  boston2-qwest.bellatlantic.net
Address:  151.203.0.85

*** boston2-qwest.bellatlantic.net can't find www.hinduism-today.org: Non-existent domain

root@simba [~]# nslookup www.hinduism-today.org
Server:         216.240.142.170
Address:        216.240.142.170#53

** server can't find www.hinduism-today.org: NXDOMAIN

That's the same response from 2 different DNS servers.   I'm not even showing that the .org domain is a registered domain, are you positive that it's actually registered?

root@simba [~]# whois hinduism-today.org
NOT FOUND
0
 

Author Comment

by:Sivakatirswami
ID: 17024529
OK Thanks... I will write explicit rules for each domain. extra lines... no big deal.

Right, DNS issues. Yesterday I also got a couple or resolution failures, don't know why... hinduism-today definitely is registered...  Not sure why it is not propagated... I'll check the zone records carefully. thanks for the heads up.  Strange you get a blank from your side....

From here I get:

[kt-enet:~] katir% whois hinduism-today.com

[SNIP all the verbiage to:]

http://www.networksolutions.com

Registrant:
Himalayan Academy
   107 Kaholalele Road
   Kapaa, HI 11111
   US

   Domain Name: HINDUISM-TODAY.COM

   Administrative Contact, Technical Contact:
      Japendra Mahesvaran               japendra@hindu.org
      107 Kaholalele Road
      Kapaa, HI 11111
      US
      808-822-7032 fax: 808-822-4351

   Record expires on 28-Mar-2009.
   Record created on 28-Mar-1999.
   Database last updated on 1-Jul-2006 15:05:19 EDT.

   Domain servers in listed order:

   NS19.ZONEEDIT.COM            69.10.134.196
   NS8.ZONEEDIT.COM
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

As Wikipedia explains 'robots.txt' as -- the robot exclusion standard, also known as the Robots Exclusion Protocol or robots.txt protocol, is a convention to prevent cooperating web spiders and other web robots from accessing all or part of a websit…
Introduction As you’re probably aware the HTTP protocol offers basic / weak authentication, which in combination with the relevant configuration on your web server, provides the ability to password protect all or part of your host.  If you were not…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

747 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

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now