Noa*_*ark 13 url redirect nginx url-rewriting
每当我在我的域上收到404错误时,我想做什么,自动301到主页.
我有很多旧的博客文章和链接的,但我没有在博客上,如果有人碰巧从另一个网站点击,他们被踢到主页.
我怎么能在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;
                }
         }
Run Code Online (Sandbox Code Playgroud)
    kwo*_*orr 18
有一个更快的方法:
error_page 404 = @foobar;
location @foobar {
  return 301 /;
}
Run Code Online (Sandbox Code Playgroud)
通过"更快",我的意思是"在Web服务器内没有无用的正则表达式匹配",使用return而不是重写.
ste*_*ewe 13
这应该工作:
error_page 404 = @foobar;
location @foobar {
    rewrite  .*  / permanent;
}
Run Code Online (Sandbox Code Playgroud)
        Noa*_*ark 12
这是我使用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;
        }    
 }
Run Code Online (Sandbox Code Playgroud)