Я пытаюсь перенаправить все сообщения 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
Можно ли сделать это в этом каталоге Specc?
Как и в первом комментарии, error_page
может быть определена на уровне местоположения.
location ^~ /baz {
error_page /index.html;
}
Старый ответ или другой способ добиться этого: Вам необходимо использовать try_files для этого . Название очевидно. Nginx пытается открыть по заданному пути, если он существует. если не может найти, пробует следующее. Итак, ваше правило должно выглядеть так.