b_e_m
@b_e_m
Front-End Dev

Angular html5mode, работает, но при перезагрузке отдает 404, в чем пробелма?

Добавил строчку в свой app.js файл
$locationProvider.html5Mode(true);
после этого "#" пропал, сайт запускается, но при перезагрузке страницы - отадет "Cannot get", в nginx'е :
location ~* \.(ttf|eot|svg|woff|jpg|jpeg|gif|png|ico|css|zip|tgz|tar|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|avi|swf|php)$ { 
root /wwwmywebsite/public; 
expires 360s; 
add_header Cache-Control public; 
} 

location / { 
proxy_pass http://127.0.0.1:5000; 
expires -1; 
add_header Pragma "no-cache"; 
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"; 
root /www/mywebsite/public; 
try_files $uri $uri/ /index.html; 
} 
}

Помогите(
  • Вопрос задан
  • 638 просмотров
Пригласить эксперта
Ответы на вопрос 2
AMar4enko
@AMar4enko
У вас в location / стоит proxy_pass, который, похоже, срабатывает раньше try_files
Если вам нужно проксировать API-запросы к express, то сделайте отдельно
location /api с proxy_pass, а location / оставьте с try_files

location в nginx отрабатывают в порядке убывания специфичности (еще есть нюансы с regexp, но их опустим).
Ответ написан
Комментировать
w4r_dr1v3r
@w4r_dr1v3r
начинающий
Если простым тычком, то вернись в ту точку в которой всё работало и методом исключения перебирай все дополнения в код которые ты вносил, пока не найдёшь переменную, из за которой всё падает. Её отношения с nginx - то что надо скурить. По опыту могу сказать что тебе ещё неск. часов ждать в любом случае - пока Тостер не проснётся. Я то - начинающий, мало что могу подсказать, но эти часы потратил бы именно на такой вот метод "научного тычка", он кстати рулит во все времена ;))
Удачи!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы