What I want to do whenever I get a 404 error on my domain, automatically 301 to the homepage.
I have a lot of old blog posts and such that were linked to, but I don
The error_page
setting can do this for you already:
error_page 404 =301 http://example.com/;
This should work:
error_page 404 = @foobar;
location @foobar {
rewrite .* / permanent;
}
There's a faster way through it:
error_page 404 = @foobar;
location @foobar {
return 301 /;
}
By "faster" I mean "no useless regexp matching inside web server" by using return instead of rewrite.
Here is the final solution that I got to work using webfaction.
server {
listen 12440;
root /some/path/here/nginx/html/noahc/;
server_name www.domain.net, domain.net;
port_in_redirect off;
location /{
error_page 404 = @foobar;
}
location @foobar {
rewrite .* / permanent;
}
}