::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Redirecting all subdomains to www in nginx with virtual hosting

June 17th, 2011
nginx, tech  [html]
If you look for how to redirect to 'www.example.com', you see people writing something where you have to know the hostname, or you have to know all subdomains. What if we need to be much more general, because this server hosts multiple domains, someone might come in on arbitrary subdomain, and we want all requests to go to 'www.REQUESTED_DOMAIN.com'? I came up with the following (it goes in the 'server' block'):
        server_name   ~^(?<subdomains>.+\.)?(?<domain>[^.]+\.[^.]+)$;

        if ($subdomains != www.) {
          rewrite  ^/(.*)$  http://www.$domain/$1  permanent;
        }
  
This will do:
  • www.example.com: no change
  • example.com: www.example.com
  • mail.example.com -> www.example.com
  • mail.example2.com -> www.example2.com
  • foo.bar.baz.example.com -> www.examplecom
Note that it assumes only one level of tld. So if your site is '.co.uk' or something, it will redirect all requests to 'www.co.uk', which is unlikely to be what you want.

Recent posts on blogs I like:

Train and Bus Cleaning

Well before the coronavirus struck, I noticed how trains in Asia were cleaner than in Europe, which are for the most part cleaner than in the United States. There are overlaps: the elevated BTS in Bangkok is similar to the cleaner cities in Europe, like L…

via Pedestrian Observations April 8, 2020

Improving your Internet for video calls

Lots of people have really bad video calls for avoidable reasons. Here’s how to fix that.

via benkuhn.net April 8, 2020

Finding home in the time of coronavirus

Disclaimer: I’m going to say this once. Obviously, I am not happy about the coronavirus’s threat to public health or the economic toll it’s taking. I do not think the existence of this pandemic is good. Just so happens that social distancing and remote wo…

via Holly Elmore March 31, 2020

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact