Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

Client had created a cname redirect for their www url which goes to their new web address, they were told to create a 301 redirect for the naked url but it's conflicting with the cname and the www url no longer redirects. How do I fix this?

share|improve this question
1  
This question is somewhat similar to this question: webmasters.stackexchange.com/questions/53396/… especially the confusion about redirects and CNAME records. Are these questions somehow related? –  Stephen Ostermiller Sep 26 '13 at 21:44
add comment

1 Answer

A CNAME is NOT are redirect. A CNAME is a type of DNS entry that tells the DNS resolver to do another DNS lookup under a different name.

A DNS record for a site often looks like:

example.com. IN A 69.9.64.11
www.example.com IN CNAME example.com.

That means that when a user types in example.com, then:

  1. The DNS client queries example.com and gets 69.9.64.11
  2. The web browser issues a request to 69.9.64.11 and sends the host name example.com
  3. The web server return the index document
  4. The user sees the content and example.com in their URL bar

When the user tyes in www.example.com then

  1. The DNS client queries www.example.com and is told to look at example.com
  2. The DNS client queries example.com and gets 69.9.64.11
  3. The web browser issues a request to 69.9.64.11 and sends the host name www.example.com
  4. The web server return the index document
  5. The user sees the content and www.example.com in their URL bar

If you want to redirect one to the other, you don't need to change DNS at all. 301 redirects can be implemented regardless of DNS configuration. Both A records and CNAME records work fine. If you want to use 301 redirects from www.example.com to example.com then the steps that are taken when a user types in www.example.com would be:

  1. The DNS client queries www.example.com and is told to look at example.com
  2. The DNS client queries example.com and gets 69.9.64.11
  3. The web browser issues a request to 69.9.64.11 and sends the host name www.example.com
  4. The web server returns a 301 redirect to http://example.com/
  5. The DNS client queries example.com and gets 69.9.64.11
  6. The web browser issues a request to 69.9.64.11 and sends the host name example.com
  7. The web server return the index document
  8. The user sees the content and example.com in their URL bar

To make this work, your webserver need to be configured to issue the 301 redirect unless the domain name is canonical.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.