server.tag                  = "LightTPD/1.4.19 (Win32)"
server.modules              = ( "mod_accesslog",
                                "mod_alias",
                                "mod_cgi",
                                "mod_rewrite" )

# default document root required
server.document-root = "."

# files to check for if .../ is requested
index-file.names            = ( "index.php", "index.pl", "index.cgi",
                                "index.html", "index.htm", "default.htm" )
# mimetype mapping
mimetype.assign             = (
  ".gif"          =>      "image/gif",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".svg"          =>      "image/svg+xml",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".xhtml"        =>      "application/xhtml+xml",
  ".xhtmlmp"      =>      "application/vnd.wap.xhtml+xml",
  ".js"           =>      "application/x-javascript",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".manifest"     =>      "text/cache-manifest",
 )

# Use the "Content-Type" extended attribute to obtain mime type if possible
mimetype.use-xattr          = "enable"

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".cgi" )

server.bind = "localhost"
server.port = 8001

## virtual directory listings
dir-listing.activate        = "enable"
#dir-listing.encoding       = "iso-8859-2"
#dir-listing.external-css   = "style/oldstyle.css"

## enable debugging
#debug.log-request-header   = "enable"
#debug.log-response-header  = "enable"
#debug.log-request-handling = "enable"
#debug.log-file-not-found   = "enable"

#### SSL engine
#ssl.engine                 = "enable"
#ssl.pemfile                = "server.pem"

# Rewrite rule for utf-8 path test (LayoutTests/http/tests/uri/utf8-path.html)
# See the apache rewrite rule at LayoutTests/http/tests/uri/intercept/.htaccess
# Rewrite rule for LayoutTests/http/tests/appcache/cyrillic-uri.html.
# See the apache rewrite rule at
# LayoutTests/http/tests/appcache/resources/intercept/.htaccess
url.rewrite-once = (
  "^/uri/intercept/(.*)" => "/uri/resources/print-uri.php",
  "^/appcache/resources/intercept/(.*)" => "/appcache/resources/print-uri.php"
)

# LayoutTests/http/tests/xmlhttprequest/response-encoding.html uses an htaccess
# to override charset for reply2.txt, reply2.xml, and reply4.txt.
$HTTP["url"] =~ "^/xmlhttprequest/resources/reply2.(txt|xml)" {
  mimetype.assign = (
    ".txt" => "text/plain; charset=windows-1251",
    ".xml" => "text/xml; charset=windows-1251"
  )
}
$HTTP["url"] =~ "^/xmlhttprequest/resources/reply4.txt" {
  mimetype.assign = ( ".txt" => "text/plain; charset=koi8-r" )
}

# LayoutTests/http/tests/appcache/wrong-content-type.html uses an htaccess
# to override mime type for wrong-content-type.manifest.
$HTTP["url"] =~ "^/appcache/resources/wrong-content-type.manifest" {
  mimetype.assign = ( ".manifest" => "text/plain" )
}

# Autogenerated test-specific config follows.
