Обработка 404 ошибок на perl и 301 редирект

dim1 nginx-forum на forum.nginx.org
Пн Апр 16 21:53:56 UTC 2018


Проект часто цитируют со ссылкой и иногда обрезают часть URL. В большинстве
случаев можно восстановить полный URL из его части и сделать редирект на
правильную страницу. 


error_page 404 @404e;
fastcgi_intercept_errors on; # указал уже дважды
#error_page 404 /cgi-bin/re.pl?in=$uri; #пробовал и так

 @404e{
                        fastcgi_intercept_errors on;
                        rewrite . /cgi-bin/re.pl?in=$uri last;
                        proxy_pass http://7.7.7.7:8080;
                        proxy_redirect http://domen.com:8080/ /;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
                        proxy_set_header X-Real-IP $remote_addr;
                        include fastcgi_params;
                        internal;

}

НЕ ХОЧЕТ со скрипта передавать 301 заголовок. 

_

При отдаче скриптом:
print "HTTP/1.1 301 Moved Permanently\n";
print "Location: http://url.ru\n\n";

получаю:
HTTP/1.1 404 Not Found
Server: nginx
...

При:
print "Status: 301 Moved Permanently\n";
print "Location: http://url.ru\n\n";

HTTP/1.1 404 Not Found
Server: nginx
...
Location:	http://url.ru/

_

## nginx version: nginx/1.8.0

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,279469,279469#msg-279469



Подробная информация о списке рассылки nginx-ru