Chcę skonfigurować serwer tak, aby wyświetlał stronę konserwacji, jeśli istnieje. Wypróbowałem ten kod i działa:
location / {
try_files /maintenance.html $uri $uri/ @codeigniter;
}
Zauważyłem jednak, że zostanie podany z kodem stanu 200 i może powodować zamieszanie w wyszukiwarkach. Myślę, że najlepszą praktyką byłoby zwrócenie kodu stanu 503. W Google znajduję kilka odpowiednich stron na ten temat, takich jak ten . Używają jednak if, aby dokonać przekierowania i zgodnie z dokumentacją nginx korzystanie z ifs nie jest bezpieczne.
Czy istnieje sposób na zrobienie tego bez użycia if? Czy w takim przypadku można bezpiecznie używać?
Dzięki.
źródło
if
s, ponieważ nie należy go używać zgodnie z dokumentacją .In some cases it's also possible to move ifs to server level (where it's safe as only other rewrite module directives are allowed within it).
Strona błędu_błędu, jak pokazał Mike, jest zwykle ustawiana w kontekście serwera {}.