/ Nginx

nginx 重定向 404

比如访问 http://a.com/about/ 返回是 404,要重定向到这里来,也就是 http://intxt.net/about/, 要在a.com 所在的服务器上给 nginx 做如下配置

location / {
    error_page 404 = @fallback;
}

location @fallback {
    return 301 http://intxt.net$request_uri;
}

或者用一条更简洁的语句

error_page 404 =301 http://intxt.net$request_uri;

如果只是重定向到首页,不保留 URI,就把上面两张配置方法里的 $request_uri 去掉。

经常是有人把当前网站的 404 重定向至首页。配置 error_page 404 =301 $scheme://$host; 即可, $scheme 是协议(http 或者 https),$host 是主机名, HTTP 请求头部的 HOST 字段。

上面描述的配置里的 301 或者 =301 可以去掉,去掉的话,同样的请求得到的结果就是 302 重定向。