1
|
RewriteEngine on
|
2
|
RewriteOptions AllowNoSlash InheritBefore
|
3
|
|
4
|
SetEnvIf Request_URI ^ innermost_dir=phpPgAdmin
|
5
|
|
6
|
# remove trailing / (not used)
|
7
|
RewriteRule ^(.*)/$ $1 [discardpath,noescape,qsappend]
|
8
|
|
9
|
# extract base URL
|
10
|
RewriteRule ^\[(.*)\](?:/(.*))?$ $2 [discardpath,noescape,qsappend,env=base_url:http://$1]
|
11
|
|
12
|
# extract path components 1st->last
|
13
|
RewriteRule ^ - [discardpath,noescape,qsappend,env=page:servers]
|
14
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?server=$1 [discardpath,noescape,qsappend,env=page:all_db]
|
15
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?database=$1 [discardpath,noescape,qsappend,env=page:schemas]
|
16
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?schema=$1 [discardpath,noescape,qsappend,env=page:tables]
|
17
|
RewriteRule ^(views|functions)()$ $2 [discardpath,noescape,qsappend,env=page:$1]
|
18
|
RewriteRule ^view=([^/]+)(?:/(.*))?$ $2?view=$1&action=definition [discardpath,noescape,qsappend,skip=1,env=page:viewproperties]
|
19
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?table=$1 [discardpath,noescape,qsappend,env=page:tblproperties]
|
20
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?column=$1 [discardpath,noescape,qsappend,env=page:colproperties]
|
21
|
|
22
|
# redirect to now-constructed URL
|
23
|
RewriteCond %{ENV:base_url} !=""
|
24
|
RewriteRule ^$ %{ENV:base_url}/%{ENV:page}.php [discardpath,last,noescape,qsappend,redirect]
|
25
|
|
26
|
## for internal URLs
|
27
|
|
28
|
# auto-add trailing / (dir without trailing / is absolute filesystem path)
|
29
|
RewriteCond %{ENV:innermost_dir} =phpPgAdmin
|
30
|
RewriteRule ^/ %{REQUEST_URI}/ [discardpath,last,noescape,qsappend,redirect]
|