У меня на сервере запущен проект angular. Нет, я хочу использовать разные index.html для разных URL следующим образом: ..
URL:abc.com/abc
Should load an index.html file with some branding related to `abc`
URL:abc.com/xyz
Should load an index.html file with some branding related to `xyz`
Я подошел к созданию двух папок, отдельных для abc, xyz, со всем моим кодом внешнего интерфейса и настройки nginx следующим образом:
location /abc {
alias /home/root/abc;
try_files $uri $uri/ /index.html;
}
location /xyz {
alias /home/root/xyz;
try_files $uri $uri/ /index.html;
}
Но я получаю сообщение об ошибке Uncaught SyntaxError: Unexpected token < in polyfilss.js, runtime.js
. Верен ли подход? поделитесь, пожалуйста, своими идеями.
@ Иван Шацкий Да, именно так. Хорошая ли идея ?? пожалуйста, предложите несколько идей.
Я бы сказал, вместо псевдонима используйте root.
It's better to use root directive instead of alias.
Псевдоним с try_files имеет давнюю ошибку. Для получения дополнительной информации вы можете проверить ошибку псевдонима с помощью try_files на https://trac.nginx.org/nginx/ticket/97
Nginx.conf For Url abc.com/xyz and /abc
....
error_page 404 /404.html;
location /abc {
root /home/root/abc;
index index.html index.htm;
}
location /xyz {
root /home/root/xyz;
index index.html index.htm;
}
location / {
root /home/root/;
index index.html index.htm;
}
.....
Спасибо, но мой вопрос в том, как я могу обслуживать 2 разные html-страницы для 2 разных URL-адресов?
@Subburaj, я обновил код nginx.conf соответственно. Это рабочий код
Попробуй это:
root /home/root;
location /abc {
try_files $uri $uri/ /abc/index.html;
}
location /xyz {
try_files $uri $uri/ /xyz/index.html;
}
Вы имеете в виду, что хотите получать
/home/root/abc/index.html
для запросаexample.com/abc
и/home/root/xyz/index.html
для запросаexample.com/xyz
?