NGINX: Konfigurieren Sie mehrere Standorte in unterschiedlichen Verzeichnissen

NGINX: Konfigurieren Sie mehrere Standorte in unterschiedlichen Verzeichnissen

Ich möchte für jeden Teil meiner Website auf meinem NGINX-Server ein separates Verzeichnis definieren.

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

Die verschiedenen Konfigurationen, die ich ausprobiert habe, funktionieren nicht, ich bekomme 404-Fehler.

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

oder

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

oder

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

oder

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

oder

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

oder

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

Antwort1

Diese Konfiguration hat mein Problem gelöst

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/;
    }
}

verwandte Informationen