
我想在 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/;
}
}