variable for domain name in redirect
Maxim Dounin
mdounin at mdounin.ru
Sun Jul 1 15:17:55 UTC 2018
Hello!
On Sun, Jul 01, 2018 at 03:52:59AM -0400, shiz wrote:
> I have something in one of my server bloc:
[...]
> if ($rule_9 = "3210"){
> return 301 https://dev.server.com$request_uri;
> }
> ```
>
> The problem is that have several servers.
>
> 1 - Is there a way to use variable for the some server names in the 'return
> 301' line so I could use shared code and not have to edit this snippet
> everywhere another site turns https?
> 2 - I have a lot of those return 301 where code could be shared if something
> like this were available e.g.
> $scheme://$actual_real_server_name$request_uri
>
> Difficulty, the server_name can and often contains multiple entries.
>
> I have found nothing useful about this on serverfault nor anywhere else.
> Dealing with this for several years.
In most cases, $server_name is the variable you want. This
variable contains the name of the server as defined by the
server_name directive, see http://nginx.org/r/$server_name. If
there are multiple names defined, it will contain the first one.
In some cases, you may also want to use the $host variable. It
will contain the name as obtained from the client, and might be
better than $server_name if a single server{} block is used to
handle requests to multiple different names and you don't want
nginx to return redirects to a canonical name, but prefere to keep
names separate.
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx
mailing list