1
|
RewriteEngine on
|
2
|
RewriteOptions AllowNoSlash
|
3
|
|
4
|
# parse dotpath in the query string
|
5
|
RewriteCond %{QUERY_STRING} ^(?!&).+$
|
6
|
RewriteCond %{REQUEST_URI} ^(.*?)(?:/index(?:\.\w+)?)?$
|
7
|
RewriteRule ^.*$ /dotpath%1 [discardpath,noescape,last]
|
8
|
|
9
|
# don't rewrite existing paths
|
10
|
RewriteCond %{REQUEST_FILENAME} -d [ornext]
|
11
|
RewriteCond %{REQUEST_FILENAME} -f
|
12
|
RewriteRule ^(?!/).+$ - [discardpath,noescape,last]
|
13
|
|
14
|
# handle DirectoryIndex subrequests
|
15
|
RewriteRule ^index$() $1 [discardpath,noescape]
|
16
|
|
17
|
# dir without trailing / is provided as an absolute filesystem path
|
18
|
RewriteCond $0 ^/ [ornext]
|
19
|
RewriteCond /$0 ^(.*)$
|
20
|
RewriteRule ^.+$ web%1 [discardpath,noescape,last]
|