lighttpd: страница 404 не возвращает статус 404 - PullRequest
2 голосов
/ 22 сентября 2011

Я использую обработчик ошибок lighttpd 404 со статической страницей 404.Весь файл conf выглядит следующим образом:

server.document-root = "/home/www/local/www/mysite/html"
url.rewrite = (
  "^(.*)/($|\?.*)" => "$1/index.html",
  "^(.*)/([^.?]+)($|\?.*)$" => "$1/$2.html"
)
server.error-handler-404 = "/404.html"
$HTTP["scheme"] == "http" {
  url.redirect = ( "^/blog.html$" => "/blog/",
       // various individual redirects
  )
}
$HTTP["scheme"] == "https" {
  $HTTP["url"] !~ "^/blog/admin/" {
    url.redirect = ( "^/(.*)" => "http://www.mysite.com/$1" )
  }
}

Однако, когда я перехожу на адрес, который должен 404, я правильно вижу нашу страницу 404, но код состояния 200.

В lighttpd docs говорится, что вы должны получить код состояния 404, если используете статическую страницу.

Я думаю, что мы используем статическую страницу, но может ли что-то из того, как мы перенаправляем, означать, что мы на самом деле нет?

Извините за вопрос новичка.

1 Ответ

3 голосов
/ 28 сентября 2011

Исправлено это с помощью server.errorfile-prefix вместо - думаю, что это просто ошибка в server.error-handler-404.

Кажется, что известная ошибка в некоторых версиях lighttpd .Я на самом деле использовал более позднюю версию, чем 1.4.17, но все еще видел ту же проблему.

...