Обработка 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