1 |
8038
|
aaronmk
|
RewriteEngine on
|
2 |
8446
|
aaronmk
|
RewriteOptions AllowNoSlash InheritBefore
|
3 |
8038
|
aaronmk
|
|
4 |
8444
|
aaronmk
|
SetEnvIf Request_URI ^ innermost_dir=phpPgAdmin
|
5 |
|
|
|
6 |
12175
|
aaronmk
|
# remove trailing / (not used)
|
7 |
|
|
RewriteRule ^(.*)/$ $1 [discardpath,noescape,qsappend]
|
8 |
8485
|
aaronmk
|
|
9 |
12175
|
aaronmk
|
# extract base URL
|
10 |
|
|
RewriteRule ^\[(.*)\](?:/(.*))?$ $2 [discardpath,noescape,qsappend,env=base_url:http://$1]
|
11 |
|
|
|
12 |
|
|
# extract path components 1st->last
|
13 |
12180
|
aaronmk
|
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=2,env=page:viewproperties]
|
19 |
|
|
RewriteRule ^fn.oid=([^/]+)(?:/(.*))?$ $2?function_oid=$1&action=properties [discardpath,noescape,qsappend,skip=1,env=page:functions]
|
20 |
|
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?table=$1 [discardpath,noescape,qsappend,env=page:tblproperties]
|
21 |
|
|
RewriteRule ^([^/]+)(?:/(.*))?$ $2?column=$1 [discardpath,noescape,qsappend,env=page:colproperties]
|
22 |
12175
|
aaronmk
|
|
23 |
|
|
# redirect to now-constructed URL
|
24 |
|
|
RewriteCond %{ENV:base_url} !=""
|
25 |
|
|
RewriteRule ^$ %{ENV:base_url}/%{ENV:page}.php [discardpath,last,noescape,qsappend,redirect]
|
26 |
|
|
|
27 |
|
|
## for internal URLs
|
28 |
|
|
|
29 |
8485
|
aaronmk
|
# auto-add trailing / (dir without trailing / is absolute filesystem path)
|
30 |
|
|
RewriteCond %{ENV:innermost_dir} =phpPgAdmin
|
31 |
8507
|
aaronmk
|
RewriteRule ^/ %{REQUEST_URI}/ [discardpath,last,noescape,qsappend,redirect]
|