Perl regex to extract "domain" and "extension" into variables from 'server_name'

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 … ? … ?
…>;

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-regex-to-get-the-root-domain-of-a-url

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
and variables for subsequent use?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs