У меня сервер сервера Ubuntu 16.04 с установкой nginx (nginx/1.10.3)
У меня есть только одно DNS-имя energy.mysite.local
которое мне нужно использовать для нескольких веб-сайтов.
У меня есть 2 каталога, в которых я разместил содержимое сайта
1) /var/www/website/
2) /var/www/web-site/
мои сайты-доступные и сайты с поддержкой папок 2 файла website & web-site
Содержание для website
server {
listen 443 ssl;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location /website/ {
alias /var/www/website/;
gzip_static on;
expires max;
add_header Cache-Control public;
autoindex off;
}
server_name energy.mysite.local/website;
location / {
try_files $uri $uri/ =404;
}
}
Содержание для web-site
server {
listen 443 ssl;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location /web-site/ {
alias /var/www/web-site/;
gzip_static on;
expires max;
add_header Cache-Control public;
autoindex off;
}
server_name energy.mysite.local/web-site;
location / {
try_files $uri $uri/ =404;
}
}
Чтобы я мог использовать ниже веб-сайт
https://energy.mysite.local/website/1.0.1/src/abc.js
https://energy.mysite.local/web-site/2.0.1/src/abc.js
В настоящее время https://energy.mysite.local/web-site/2.0.1/src/abc.js
работает нормально.
Однако https://energy.mysite.local/website/1.0.1/src/abc.js
дает мне 404
страницы
Любой способ сделать это?
Из вашего вопроса два местоположения, похоже, имеют один и тот же корень, и в этом случае отдельные блоки location
и директива alias
могут не понадобиться.
Например:
server {
listen 443 ssl;
server_name energy.mysite.local;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
root /var/www;
gzip_static on;
expires max;
add_header Cache-Control public;
location / {
try_files $uri $uri/ =404;
}
}
server
. Значение дляserver_name
должно включать только часть имени домена.