
NGINX サーバー上の Web サイトの各部分に個別のディレクトリを定義したいと考えています。
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/;
}
}