NGINX: 여러 위치를 서로 다른 디렉터리로 구성

NGINX: 여러 위치를 서로 다른 디렉터리로 구성

내 NGINX 서버에서 내 웹사이트의 각 부분에 대해 별도의 디렉터리를 정의하고 싶습니다.

domain.com/                     -->     /var/www/html/domain.com/website
domain.com/blog/                -->     /var/www/html/domain.com/blog
domain.com/checkout/            -->     /var/www/html/domain.com/checkout
domain.com/download/            -->     /var/www/html/domain.com/download
domain.com/forum/               -->     /var/www/html/domain.com/forum

시도한 다양한 구성이 작동하지 않고 404 오류가 발생합니다.

server {
    location /  {
        root /var/www/html/domain.com/website;
    }
    
    location /blog  {
        root /var/www/html/domain.com/blog;
    }
}

또는

server {
    root /var/www/html/domain.com/website;
    
    location /blog  {
        root /var/www/html/domain.com/blog;
    }
}

또는

server {
    root /var/www/html/domain.com/website;
    
    location /blog/  {
        alias /var/www/html/domain.com/blog;
    }
}

또는

server {
    root /var/www/html/domain.com/website;
    
    location /blog/  {
        alias /var/www/html/domain.com/blog/;
    }
}

또는

server {
    root /var/www/html/domain.com;
    
    location /  {
        alias /var/www/html/domain.com/website/;
    }
    
    location /blog/  {
        alias /var/www/html/domain.com/blog/;
    }
}

또는

server {
    location ~ ^/(?!(blog|checkout|download|forum))/ { 
        root /var/www/html/domain.com/website;
    } 
    
    location /blog/  {
        root /var/www/html/domain.com/blog;
    }
}

답변1

이 구성으로 내 문제가 해결되었습니다.

server {
    location / { 
        root /var/www/html/domain.com/website;
    } 
    
    location ~ ^/(?!(blog|checkout|download|forum))/ { 
        root /var/www/html/domain.com/website;
    } 
    
    location /blog/  {
        alias /var/www/html/domain.com/blog/;
    }
}

관련 정보