301 redirect with custom content problem
Robert Mueller
robm at fastmail.fm
Fri Nov 30 01:53:03 UTC 2012
Hi
I'm trying to setup a permanent redirect from http -> https. As a
fallback for a small number of users where https is blocked, I'd like to
show them a message.
I thought an error_page 301 handler would allow me to do this, but I'm
having trouble making it work:
server {
listen *:80 default;
rewrite ^ https://example.com$uri permanent;
}
error_page 301 /foo/bar/301.html;
Seems to confuse the redirect. It seems to completely replace the
redirect Location header with foo/bar/301.html rather than actually
serving that content.
I tried some alternatives like:
error_page 301 @301;
location @301 {
root /foo/bar/;
try_files $uri /301.html;
}
But again, it replaces the Location header adding /301.html on the end
of the redirect hostname rather than actually serving the 301.html
content.
Is there a reliable way to return custom content for a 301 redirect in a
way that doesn't affect the redirect location itself? I'm using nginx
1.2.4.
--
Rob Mueller
robm at fastmail.fm
More information about the nginx
mailing list