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




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”

that suggest this perl regex


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