upstream uwsgi_sock {
server:{some_path};
}
server {
listen 80;
server_name ****.ru;
access_log /home/www/var/log/nginx_access.log;
error_log /home/www/var/log/nginx_error.log;
location / {
include uwsgi_params;
uwsgi_pass uwsgi_sock;
uwsgi_intercept_errors on;
}
location /static/ {
add_header Cache-Control public;
expires modified +60d;
alias /home/www/static/;
}
location /media/ {
add_header Cache-Control public;
expires modified +60d;
alias /home/www/media/;
}
location /article_view {
include uwsgi_params;
uwsgi_pass uwsgi_sock;
uwsgi_intercept_errors on;
if ($status = 404) {
return 301 http://****.ru/articles/news/;
}
}
Задумывалось - если при входе по ссылке вида http://****.ru/article_view?a_id=34558, бекэнд возвращает 404, должен сработать редирект по 301 коду, если же бекэнд возвращает все что угодно но не 404, то ничего не делаем (может ответить 200 и 301)
Но не работает, if не срабатывает