#################################################################
# mpres .htaccess V2.03																					#
# used to handle proper links																		#
# directory: script main path																		#
#################################################################
AddDefaultCharset UTF-8
Options -Indexes
Options +FollowSymLinks

<Files ~ "\.(inc\.php|tpl\.php|ini|pth|mprdata|tocdata|mprdiff)$">
	order allow,deny
	deny from all
</Files>

RewriteEngine on
RewriteBase /

# script main page (no event or season selected)
RewriteRule ^index.html$ index.php [L,NC,QSA]
RewriteRule ^credits.html$ index.php?page=credits [L,NC,QSA]

# type selected -> choose event
##############.....type.....############################################################################
RewriteRule ^(league|single)$ $1/ [L,R=301,QSA]
RewriteRule ^(league|single)/(|index.html)$ index.php?type=$1 [L,NC,QSA]

# event selected -> choose season
##############.....type...../.....event....#############################################################
RewriteRule ^(league|single)/([A-Za-z0-9]+)$ $1/$2/ [L,R=301,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/(|index.html)$ index.php?type=$1&event=$2 [L,NC,QSA]

# season selected -> choose session
##############.....type...../.....event..../....season....##############################################
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)$ $1/$2/$3/ [L,R=301,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(|index.html)$ index.php?type=$1&event=$2&season=$3 [L,NC,QSA]

##############.....type...../.....event..../....season..../....day...../....grid..../session.number.####
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)$ $1/$2/$3/$4$6$8/ [L,R=301,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/(|index.html)$ index.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/ergebnis.html$ index.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&resulttype=small [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/short.html$ index.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&resulttype=small [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/csv.html$ index.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&resulttype=csv [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/res.html$ index.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&resulttype=res [L,NC,QSA]



# graph selection screen
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs$ $1/$2/$3/$4$6$8$9/graphs/ [L,R=301,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/(|index.html|graphs.html)$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/blg.html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=1 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/rpg.html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=3 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/player.html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=2 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/player_([0-9]+).html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=2&player=$9 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/pavg.html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=4 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/pavg_([0-9]+).html$ graph_select.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=4&player=$9 [L,NC,QSA]

# png graphs
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/blg.png$ graphs_png.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=1 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/blg_([0-9]+).png$ graphs_png.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=1&size=$9 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/rpg.png$ graphs_png.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=3 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/rpg_([0-9]+).png$ graphs_png.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&size=$9 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/player_([0-9]+).png$ graphs_png.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=2&player=$9 [L,NC,QSA]

# svg graphs
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/blg.svg$ graphs_svg.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=1 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/blg_([0-9]+).svg$ graphs_svg.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=1&size=$9 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/rpg.svg$ graphs_svg.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=3 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/rpg_([0-9]+).svg$ graphs_svg.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=3&size=$9 [L,NC,QSA]
RewriteRule ^(league|single)/([A-Za-z0-9]+)/([A-Za-z0-9]+)/(R([0-9]+)/)?(G([0-9]+)/)?([qrs][0-9]?)/graphs/player_([0-9]+).svg$ graphs_svg.php?type=$1&event=$2&season=$3&day=$5&grid=$7&session=$8&graphtype=2&player=$9 [L,NC,QSA]


# track images
RewriteRule ^images/tracks/([A-Za-z0-9]+)_([A-Za-z0-9\.]+)_(km|mi)(_all|).png$ trackimage_png.php?track=$1&ver=$2&showall=$4&dunit=$3 [L,NC]
RewriteRule ^images/tracks/([A-Za-z0-9]+)_([A-Za-z0-9\.]+)_(km|mi)(_all|)_([0-9]+).png$ trackimage_png.php?track=$1&ver=$2&showall=$4&size=$5&dunit=$3 [L,NC]
RewriteRule ^images/tracks/([A-Za-z0-9]+)_([A-Za-z0-9\.]+)_(km|mi)(_all|).svg$ trackimage_svg.php?track=$1&ver=$2&showall=$4&dunit=$3 [L,NC,QSA]
RewriteRule ^images/tracks/([A-Za-z0-9]+)_([A-Za-z0-9\.]+)_(km|mi)(_all|)_([0-9]+).svg$ trackimage_svg.php?track=$1&ver=$2&showall=$4&size=$5&dunit=$3 [L,NC,QSA]

# pitstop icons
RewriteRule ^images/pit/([0-9]+)_([0-9]+)_(0|1).png$ piticon.php?work=$1&tbit=$2&toc=$3 [L,NC]

# everything, that's not found --> main page
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html

# default for html instead of php
DirectoryIndex index.html index.php
