wildcard to rewritre multi domains to www
Marcus Clyne
maccaday at gmail.com
Mon Sep 7 14:44:33 MSD 2009
Hi,
>> I think if you look at your regex again, you'll see that it's not that
>> it doesn't match any domains with sub domains, it matches any domains
>> with a dot somewhere in the middle. The \. guarantees that there's a
>> dot, but the other characters can be anything.
>>
>
> Ah, so instead of .+ it'd need to be [^.]+ as in:
>
> server_name ~(^[^.]+\.[^.]+$);
>
That would be fine - for domains with just the top level domain before
the main name, e.g. test.com. However, if you also deal with URLs with
a country code as well, e.g. test.co.uk, it's not going to capture them
because they'll look like the subdomains you were trying to avoid
capturing. You could create a rather complex RE using all the country
codes and tld's to fully capture only the main domain, and no
sub-domains, but it'd be pretty long and would probably waste
considerable processing time. Personally, I like to keep things simple. :-)
Cheers,
Marcus.
More information about the nginx
mailing list