web-dev-qa-db-ja.com

Lighttpd:リクエストをindex.htmlにリダイレクトします

404を防ぐために lighttpd を使用してindex.htmlにリクエストを送信しようとしていますが、リダイレクトがそれ自体と一致するか、サブディレクトリへの呼び出しの場合はインデックスが一致するため、十分に賢くありません.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
}
2
None

グーグルとの少しの瞬間はあなたが望むことを提案します:

server.error-handler-404   = "/index.html"

いいえ、エラーを処理したくありません。すべてのリクエストを/index.htmlに送信したい

あなたは404を防ぎたいと言いました、これはそれをします。その後、エラーが処理されると、デフォルトで200ステータスコードが返されます。

また、ページが/ some /から送信され、すべてのパスがオフになっているため、my.example.com/some /thing.extでも失敗します。

いいえ、失敗することはありません。すべてのミスを/index.htmlにリダイレクトします。そうは言っても、試してみてください。

url.rewrite-once = ( "^/(.*)" => "/index.html" )

これにより、URLが/index.htmlに書き換えられます。

1
Cry Havok