Я пытаюсь отправить любой запрос в index.html с помощью lighttpd чтобы предотвратить 404, но я недостаточно умен, потому что либо перенаправление совпадает с самим собой, либо для вызовов субкаталогов, хотя index.html обслуживается, он не обслуживается из корня документа, поэтому все пути отключены и, следовательно, нет изображений показаны.
$HTTP["host"] == "my.example.com" {
server.document-root = "/var/www/my/html/"
# url.rewrite-once = ( "^/([^\./]+)/?([^\./]+)?(/|\.html)?$" => "/index.php?a=$1&b=$2" )
# url.rewrite-once = ( "^.+?" => "/" )
# url.redirect = ( ".*" => "http://my.example.com/index.html" ) # too many redirects
}
Несколько мгновений с Google подсказывают, что вы хотите:
server.error-handler-404 = "/index.html"
Нет, я не хочу обрабатывать ошибку. Я хочу, чтобы все запросы направлялись в /index.html
Вы сказали, что хотите предотвратить ошибку 404, это поможет. По мере обработки ошибки по умолчанию возвращается код состояния 200.
И это также не удается для my.example.com/some/thing.ext, потому что страница отправляется из / some /, поэтому все пути отключены.
Нет, не подведет - все промахи перенаправит на /index.html
. Тем не менее, попробуйте:
url.rewrite-once = ( "^/(.*)" => "/index.html" )
Это однажды перепишет любой URL-адрес на /index.html
.