Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

This is not really a programming question, it's more about settings that I can alter visually.

I have bought a domain and am wondering how I can get it work in such a way that everything before the .example.com except for things I've already set (like pop.example.com) are being forwarded to www.example.com (or *.example.com).

so stuff like this:

  • pop.example.com
  • ftp.example.com
  • my.example.com

Goes to the appropriate URL, but:

  • idontknowwhattheurlwas.example.com
  • ivemistypedsomething.example.com
  • bla.example.com
  • 123.example.com

Are aliases for www.example.com.

The options for adding a rule inside the DNS configuration are:

  • A
  • AAAA
  • MX
  • TXT
  • CNAME
  • SRV

Or perhaps it's better to do this with .htaccess? and if so, how should i configure it?

share|improve this question

migrated from stackoverflow.com Aug 27 '10 at 13:00

This question came from our site for professional and enthusiast programmers.

    
This is probably better asked at serverfault.com, but do you have access to the zone file? Wild card DNS is easy to set up if you can edit the zone file directly. –  bogeymin Aug 27 '10 at 12:49
    
I've only got access to a control panel with visual tweaking of the DNS and the top-level .htaccess –  xaddict Aug 27 '10 at 12:50
    
I think the dupe question has a clearer answer: serverfault.com/questions/175225/…. Perhaps the two questions could be merged? They are, after all, exactly the same question, word for word. –  TRiG Aug 29 '11 at 13:36
add comment

4 Answers

up vote 4 down vote accepted

You need both:

In DNS zone setup an entry (the last, the best)

*.your_domain.foo.  IN  A   999.999.999.999 # correct this csi-like ip

The last dot in domain is very important.

That will match any.your_domain.foo to your IP. you can place other entries for other subdomains / ip's before.

And in apache / other web server you mus setup a vhost or something to handle all the requests an set ServerAlias / ServerName to

ServerAlias *.your_domain.foo

Again place this Vhost the lasts, defining any existing vhosts in your_domain.foo before the default one.

Apache loads config files using an ascii ordered scheme so put this in a 099_default file and prepend other by 050_

In your case, the DNS should let you to use a *.yourdomain.foo. in zone definition and I think you can archieve the apache part using mod_rewrite, if it is enabled. I think that There are some ways of simulate virtual hosting usin rewrites with the SERVER_NAME variable as a condition. Check http://httpd.apache.org/docs/2.3/rewrite/vhosts.html. I haven't tried it.

share|improve this answer
add comment

You do this in DNS. If you have a sane (bind-like) dns server you want to add something like this to the configuration for your zone:

server.example.com.  A      192.168.1.1
*.example.com.       CNAME  server.example.com.

It creates an alias for the wildcard and points it to the address of the server.You can also do it directly:

*.example.com.       A      192.168.1.1

But for management reasons the first solution is typically better. Once this is done you create a catch-all vhost that mirrors your www.example.com host.

share|improve this answer
add comment

Use a star:

*.example.com CNAME www.example.com www.example.com A 192.168.1.5

share|improve this answer
add comment

It's named jocker. In your DNS configuration put all the names you want and then add the line

* CNAME www.example.com

All the unknown names will be CNAMED to www.example.com

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.