我正在尝试将所有 404 消息重定向到索引页,但仅限于某些目录/类别内。
例如
以下目录中的 404 将正常显示
www.foo.com/
www.foo.com/blah
以下目录中的 404 将重定向到 index.php
www.foo.com/bar
www.foo.com/fizz/buzz
到目前为止,我发现以下操作会将所有 404 重定向到具有 OK 状态的索引页。
error_page 404 =200 /index.html
是否可以指定该目录?
答案1
正如第一条评论所述,error_page
可以在位置级别进行定义。
location ^~ /baz {
error_page /index.html;
}
旧答案或实现此目的的另一种方法:您需要使用try_files为了这。名称很明显。如果存在,Nginx 会尝试打开给定的路径。如果找不到,它会尝试下一个。所以你的规则应该是这样的。