############# DO NOT FORGET TO CHANGE "grav_path" BY YOUR ACTUAL GRAV INSTALLATION FOLDER #############
############# IF GRAV IS AT THE ROOT OF YOUR WEBSITE, ie http://yoursite.tld POINTS TO    #############
############# GRAV DIRECTLY, THEN JUST REMOVE ANY "/grav_path/" MENTION BELOW. OTHERWISE  #############
############# WE ASSUME YOU RUN AN INSTALLATION SUCH AS http://yoursite.tld/grav_path/    #############
#######################################################################################################
### GRAV RULES FOR LIGHTTPD ###
###        By Mr3ase        ###
###  Last Rev. 2015/11/20   ###

#PREVENTING EXPLOITS
$HTTP["querystring"] =~ "base64_encode[^(]*\([^)]*\)" {
    url.redirect = (".*" => "/grav_path/index.php"       )
}
$HTTP["querystring"] =~ "(<|%3C)([^s]*s)+cript.*(>|%3E)" {
    url.redirect = (".*" => "/grav_path/index.php" )
}
$HTTP["querystring"] =~ "GLOBALS(=|\[|\%[0-9A-Z])" {
    url.redirect = (".*" => "/grav_path/index.php" )
}
$HTTP["querystring"] =~ "_REQUEST(=|\[|\%[0-9A-Z])" {
    url.redirect = (".*" => "/grav_path/index.php" )
}

#REROUTING TO THE INDEX PAGE
url.rewrite-if-not-file = (
    "^/grav_path/(.*)$" => "/grav_path/index.php?$1"
)

#IMPROVING SECURITY
$HTTP["url"] =~ "^/grav_path/(LICENSE\.txt|composer\.json|composer\.lock|nginx\.conf|web\.config)$" {
    url.access-deny = ("")
}
$HTTP["url"] =~ "^/grav_path/(\.git|cache|bin|logs|backup|tests)/(.*)" {
    url.access-deny = ("")
}
$HTTP["url"] =~ "^/grav_path/(system|user|vendor)/(.*)\.(txt|md|html|htm|shtml|shtm|json|yaml|yml|php|php2|php3|php4|php5|phar|phtml|twig|sh|bat)$" {
    url.access-deny = ("")
}
$HTTP["url"] =~ "^/grav_path/(\.(.*))" {
    url.access-deny = ("")
}
url.access-deny += (".md","~",".inc")

#PREVENT BROWSING AND SET INDEXES
$HTTP["url"] =~ "^/grav_path($|/)" {
    dir-listing.activate = "disable"
    index-file.names = ( "index.php", "index.html" , "index.htm" )
}
