
Я хочу определить отдельный каталог для каждой части моего веб-сайта на моем сервере 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/;
}
}