Forum: NGINX perl regex to extract "domain" and "extension" into variables from 'server_name'

C240d863e2774559cb7f41b924e03a47?d=identicon&s=25 unknown (Guest)
on 2014-01-10 23:33
(Received via mailing list)
I want to extract just the "domain" and "extension" parts from an nginx
server_name for use as variables later in nginx conf.

For example,

  server_name <some PERL regex ... ?<domain> ... ?<extension>
  ...>;
  ...
  location = /test.html {
          alias /local/path/to/$domain.$extension.html;
  }

No matter what the server_name contains, from

  mydomain.tld

to

  https://www.mydomain.tld:80/something

and variations in between,the result should be

  $domain = mydomain
  $extension = tld

I found this post

  "Perl Regex to get the root domain of a URL"
   http://stackoverflow.com/questions/15627892/perl-r...

that suggest this perl regex

  ^.*://(?:[wW]{3}\.)?([^:/]*).*$

works to extract & return "domain.tld" from any from of input URI.

What's the right form of that regex in nginx's server_name to populate
<domain> and <extension> variables for subsequent use?
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.