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't have them on the blog and if anyone happens to click through from another site that they get kicked to the homepage.
How can I do this inside nginx?
server {
listen 12680;
root /home/noahc/webapps/nginx/html/noahc/;
server_name www.noahc.net, noahc.net;
error_page 404 @foobar;
location @foobar {
rewrite .* / permanent;
}
}
Here is the final solution that I got to work using webfaction.
This should work:
The
error_page
setting can do this for you already:error_page 404 =301 http://example.com/;
There's a faster way through it:
By "faster" I mean "no useless regexp matching inside web server" by using return instead of rewrite.