Nginx Routing path to server

2019-01-22 23:54发布

问题:

I have a few sites. Each site has its own "server" section with a server_name that looks like this

server {
   ...
   server_name siteA.example.com;
   root /var/www/siteA;
   ...
}

I can therefore bring up the site using the url http://siteA.example.com

I however also need to bring up the site by using the url http://example.com/siteA How can this be done?

回答1:

Two options to add to your config below ...

Option 1:

server {
    ...
    server_name example.com;
    ...
    location /siteA {
        root /var/www/siteA;
        ...
    }
    location /siteB {
        root /var/www/siteB;
        ...
    }
    ...
}

Option 2:

server {
    ...
    server_name example.com;
    ...
    location /siteA {
        return       301 http://siteA.example.com$request_uri;
    }
    location /siteB {
        return       301 http://siteB.example.com$request_uri;
    }
    ...
}

First option simply serves from example.com/siteA in addition while second option redirects to siteA.example.com



标签: nginx