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

I'm trying to find a generic enough modrewrite rule that will acomplish following:

  • Redirect anyHost.anyTld to www.anyHost.anyTld
  • Not mess with any other subdomains, for examle other.anyHost.anyTLD should be left alone

Can you help? Does this slow down server too much?

share|improve this question

migrated from serverfault.com May 6 '11 at 23:11

This question came from our site for professional system and network administrators.

2 Answers 2

Zach's answer will not work with subdomains like forum.example.com, the next rules checks whether the host equals example.com. If it does, it will be redirected to www.example.com. No rules will be processed after this one (L = Last).

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

This does not cause a server slowdown, but if you really want to get every single performance bit out of it, you could create a virtual host with domain example.com with a redirect rule:

NameVirtualHost 1.2.3.4:80
<VirtualHost 1.2.3.4:80>
    ServerName example.com
    Redirect / http://www.example.com/
</VirtualHost>
# other hosts here

Virtual Hosts documentation

share|improve this answer

You should be able to use something like this:

RewriteCond %{HTTP_HOST} !^www.(.*)$

RewriteRule (.*) $1/$2 [NC]

Let me know how it turns out, I don't have access to an Apache machine to test it right now :)

share|improve this answer

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.