Revision 8371
Added by Aaron Marcuse-Kubitza over 11 years ago
www/main/servers/vegbiendev/db/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /.phpPgAdmin/[vegbiendev.nceas.ucsb.edu/phppgadmin]/localhost:5432:allow/$0 [discardpath,noescape,last] |
www/main/servers/vegbiendev/fs | ||
---|---|---|
1 |
link ../../../.. |
|
2 | 0 |
www/main/servers/vegbiendev/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/servers/vegbiendev/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ db/$0 [discardpath,noescape,last] |
www/main/servers/nimoy/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /.phpMyAdmin/[nimoy.nceas.ucsb.edu/phpmyadmin]/$0 [discardpath,noescape,last] |
www/main/.vegbank | ||
---|---|---|
1 |
link VegBank |
|
2 | 0 |
www/main/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
require_once dirname(__FILE__)."/util.php"; |
|
3 |
|
|
4 |
$self_dir = ensure_suffix("/", dirname($_SERVER["SCRIPT_NAME"])); |
|
5 |
|
|
6 |
# config |
|
7 |
$alias = "j.mp/vegpath#"; |
|
8 |
|
|
9 |
function by_prefix($url, $main_url=null) |
|
10 |
{ |
|
11 |
if (!isset($main_url)) $main_url = $url; |
|
12 |
|
|
13 |
return function($path) use($url, $main_url) |
|
14 |
{ |
|
15 |
return $path ? $url.$path : $main_url; |
|
16 |
}; |
|
17 |
} |
|
18 |
|
|
19 |
$h_level = 5; |
|
20 |
$root = $_SERVER["SERVER_NAME"] === gethostbyaddr($_SERVER["SERVER_ADDR"]) |
|
21 |
? $alias : $_SERVER["SERVER_NAME"].rm_suffix("/", $self_dir)."?"; |
|
22 |
# instead of PATH_INFO, to support the Apache ErrorDocument directive |
|
23 |
$rel_fs_path = rm_prefix($self_dir, $_SERVER["REQUEST_URI"]); |
|
24 |
$path = parse_dot_path($rel_fs_path); |
|
25 |
$ns = strtolower($path->head); |
|
26 |
|
|
27 |
function add_ns($name, $path_pat, $url_func) |
|
28 |
{ |
|
29 |
global $root, $h_level, $path, $ns; |
|
30 |
if (is_string($url_func)) $url_func = by_prefix($url_func); |
|
31 |
|
|
32 |
print("<h".$h_level.' id="'.$name.'">'.$root.'<big><a href="http://'.$root |
|
33 |
.$name.'">'.$name."</a></big><i>".$path_pat."</i></h".$h_level.">\n"); |
|
34 |
if ($ns === strtolower($name)) # found match, so redirect |
|
35 |
{ |
|
36 |
header("Location: ".strip_url($url_func($path->tail))); |
|
37 |
ob_end_flush(); |
|
38 |
exit; |
|
39 |
} |
|
40 |
} |
|
41 |
|
|
42 |
function custom_separator($url, $sep, $main_url=null) |
|
43 |
{ |
|
44 |
if (!isset($main_url)) $main_url = $url; |
|
45 |
|
|
46 |
return function($path) use($url, $sep, $main_url) |
|
47 |
{ |
|
48 |
if ($path === "") return $main_url; |
|
49 |
$path = parse_dot_path($path); |
|
50 |
return $url.join_non_empty($sep, array($path->head, $path->tail)); |
|
51 |
}; |
|
52 |
} |
|
53 |
|
|
54 |
function fragment_override($url, $fragment=null) |
|
55 |
{ |
|
56 |
return function($path) use($url, $fragment) |
|
57 |
{ |
|
58 |
if (!isset($fragment)) |
|
59 |
{ |
|
60 |
$path = parse_dot_path($path); |
|
61 |
$fragment = $path->head; |
|
62 |
$path = $path->tail; |
|
63 |
} |
|
64 |
if ($path !== "") $url .= "?".$path; |
|
65 |
return $url."#".$fragment; |
|
66 |
}; |
|
67 |
} |
|
68 |
|
|
69 |
function phpPgAdmin($url, $table=null) |
|
70 |
{ |
|
71 |
return function($path) use($url, $table) |
|
72 |
{ |
|
73 |
$path = join_non_empty(".", array($table, $path)); |
|
74 |
$path = parse_dot_path($path); |
|
75 |
$subject = "schema"; |
|
76 |
if ($path->head !== "") |
|
77 |
{ |
|
78 |
$url .= "&table=".$path->head; |
|
79 |
if ($path->tail !== "") |
|
80 |
{ |
|
81 |
$url .= "&column=".$path->tail; |
|
82 |
$subject = "column"; |
|
83 |
} |
|
84 |
else $subject = "table"; |
|
85 |
} |
|
86 |
$url .= "&subject=".$subject; |
|
87 |
return $url; |
|
88 |
}; |
|
89 |
} |
|
90 |
|
|
91 |
function phpMyAdmin($url, $table=null) |
|
92 |
{ |
|
93 |
return function($path) use($url, $table) |
|
94 |
{ |
|
95 |
$path = join_non_empty(".", array($table, $path)); |
|
96 |
$path = parse_dot_path($path); |
|
97 |
$target = "db_structure"; |
|
98 |
if ($path->head !== "") |
|
99 |
{ |
|
100 |
$url .= "&table=".$path->head; |
|
101 |
if ($path->tail !== "") $url .= "&column=".$path->tail; |
|
102 |
$target = "tbl_structure"; |
|
103 |
} |
|
104 |
$url .= "&target=".$target.".php"; |
|
105 |
return $url; |
|
106 |
}; |
|
107 |
} |
|
108 |
|
|
109 |
ob_start(); // delay output in case there is a redirect |
|
110 |
?> |
|
111 |
<html> |
|
112 |
<head> |
|
113 |
<title>VegPath</title> |
|
114 |
<link rel="stylesheet" type="text/css" href="/main.css" /> |
|
115 |
<style type="text/css"> |
|
116 |
h1 {color: green;} |
|
117 |
</style> |
|
118 |
<script type="text/javascript" src="/util.js"></script> |
|
119 |
</head> |
|
120 |
<body> |
|
121 |
<h1>VegPath <small><a href="http://en.wikipedia.org/wiki/PURL">persistent URLs</a> for vegetation resources</small></h1> |
|
122 |
<div>Supported URL patterns: <small>(elements in <i>italics</i> are optional)</small></div> |
|
123 |
<p></p> |
|
124 |
<?php |
|
125 |
# add and list URLs |
|
126 |
|
|
127 |
$Redmine = "https://projects.nceas.ucsb.edu/nceas/projects/bien"; |
|
128 |
$Redmine_svn = $Redmine."/repository/raw"; |
|
129 |
|
|
130 |
$nimoy = "http://nimoy.nceas.ucsb.edu/phpmyadmin/index.php"; |
|
131 |
function nimoy_db($db) { global $nimoy; return phpMyAdmin($nimoy."?db=".$db); } |
|
132 |
|
|
133 |
$IH_db = phpMyAdmin($nimoy."?db=bien3_adb", "ih"); |
|
134 |
|
|
135 |
$SALVIAS = "http://salvias.net/Documents/salvias_data_dictionary.html"; |
|
136 |
?> |
|
137 |
<table border="0" cellspacing="0" cellpadding="0"> |
|
138 |
<tr valign="top"> |
|
139 |
<td nowrap="nowrap"><h2>Terms</h2></td> |
|
140 |
<td nowrap="nowrap"><h2> </h2></td> |
|
141 |
<td nowrap="nowrap"><h2>Data</h2></td> |
|
142 |
</tr> |
|
143 |
<tr valign="top"> |
|
144 |
<td nowrap="nowrap"> |
|
145 |
<?php |
|
146 |
print("<blockquote>\n"); |
|
147 |
print("<h3>Exchange schemas</h3>"); |
|
148 |
{ |
|
149 |
print("<blockquote>\n"); |
|
150 |
add_ns("VegCore", ".term", "https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/VegCore#"); |
|
151 |
add_ns("DwC", ".term", "http://rs.tdwg.org/dwc/terms/#"); |
|
152 |
{ |
|
153 |
print("<blockquote>\n"); $h_level++; |
|
154 |
add_ns("DwC.history", ".term", "http://rs.tdwg.org/dwc/terms/history/#"); |
|
155 |
print("</blockquote>\n"); $h_level--; |
|
156 |
} |
|
157 |
add_ns("TCS", "#/XPath", "http://www.tdwg.org/standards/117/download/#/v101.xsd"); |
|
158 |
add_ns("VegX", "#/XPath", "http://wiki.tdwg.org/twiki/pub/Vegetation/WebHome/VegX_Schema_1.5.3_proposed.zip#/veg.xsd"); |
|
159 |
print("</blockquote>\n"); |
|
160 |
} |
|
161 |
print("<h3>Aggregators</h3>"); |
|
162 |
{ |
|
163 |
print("<blockquote>\n"); |
|
164 |
add_ns("VegBank", ".table.column", custom_separator("http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&entity=dba_tabledescription&where=where_tablename&wparam=", |
|
165 |
"#", "http://vegbank.org/get/index/dba_tabledescription")); |
|
166 |
add_ns("SALVIAS", ".table.column", by_prefix($SALVIAS."#Plot_", $SALVIAS)); |
|
167 |
{ |
|
168 |
print("<blockquote>\n"); $h_level++; |
|
169 |
add_ns("SALVIAS.db", ".table.column", nimoy_db("salvias_plots")); |
|
170 |
add_ns("SALVIAS.users", ".table.column", nimoy_db("salvias_users")); |
|
171 |
print("</blockquote>\n"); $h_level--; |
|
172 |
} |
|
173 |
add_ns("BIEN2", "", $nimoy."?target=server_databases.php"); |
|
174 |
{ |
|
175 |
print("<blockquote>\n"); $h_level++; |
|
176 |
add_ns("BIEN2.web", ".table.column", nimoy_db("bien_web")); |
|
177 |
add_ns("BIEN2.core", ".table.column", nimoy_db("bien2")); |
|
178 |
add_ns("BIEN2.geoscrub", ".table.column", nimoy_db("geoscrub")); |
|
179 |
add_ns("BIEN2.staging", ".table.column", nimoy_db("bien2_staging")); |
|
180 |
print("</blockquote>\n"); $h_level--; |
|
181 |
} |
|
182 |
add_ns("VegBIEN", ".table.column", phpPgAdmin("http://vegbiendev.nceas.ucsb.edu/phppgadmin/redirect.php?server=localhost%3A5432%3Aallow&database=vegbien&schema=public")); |
|
183 |
print("</blockquote>\n"); |
|
184 |
} |
|
185 |
print("<h3>Primary databases</h3>"); |
|
186 |
{ |
|
187 |
print("<blockquote>\n"); |
|
188 |
add_ns("TNRS", ".term", fragment_override("http://tnrs.iplantcollaborative.org/instructions.html", "download_results")); |
|
189 |
add_ns("CTFS", "", $Redmine."/wiki/CTFS"); |
|
190 |
{ |
|
191 |
print("<blockquote>\n"); $h_level++; |
|
192 |
add_ns("CTFS.schema", ".table.column", $Redmine_svn."/inputs/CTFS/_archive/DBv5.txt#"); |
|
193 |
add_ns("CTFS.tables", ".table", fragment_override($Redmine."/wiki/CTFS", "Tables")); |
|
194 |
add_ns("CTFS.terms", ".term", $Redmine_svn."/inputs/CTFS/_src/ctfs-comments_worksheet.xls#"); |
|
195 |
print("</blockquote>\n"); $h_level--; |
|
196 |
} |
|
197 |
add_ns("IH.db", ".term", $IH_db); |
|
198 |
print("</blockquote>\n"); |
|
199 |
} |
|
200 |
print("<h3>People</h3>"); |
|
201 |
{ |
|
202 |
print("<blockquote>\n"); |
|
203 |
add_ns("Brad", "", "mailto:bboyleATemail.arizona.edu"); |
|
204 |
{ |
|
205 |
print("<blockquote>\n"); $h_level++; |
|
206 |
$Brad_Boyle_VegCore = $Redmine_svn."/schemas/VegCore/Brad_Boyle"; |
|
207 |
add_ns("Brad.data-provenance", ".term", $Brad_Boyle_VegCore."/BIEN%20database%20entities%20related%20to%20data%20provenance%20and%20ownership.docx#"); |
|
208 |
add_ns("Brad.DwC-IDs.2013-2-7", ".term", $Brad_Boyle_VegCore."/vegbien_identifiers.xlsx#"); |
|
209 |
add_ns("Brad.DwC-IDs.2013-1-31", ".term", $Brad_Boyle_VegCore."/vegbien_identifier_examples.xlsx#"); |
|
210 |
print("</blockquote>\n"); $h_level--; |
|
211 |
} |
|
212 |
print("</blockquote>\n"); |
|
213 |
} |
|
214 |
print("</blockquote>\n"); |
|
215 |
?> |
|
216 |
</td> |
|
217 |
<td nowrap="nowrap"></td> |
|
218 |
<td nowrap="nowrap"> |
|
219 |
<?php |
|
220 |
print("<blockquote>\n"); |
|
221 |
print("<h3>Institutions</h3>"); |
|
222 |
{ |
|
223 |
print("<blockquote>\n"); |
|
224 |
add_ns("IH", ".herbarium_code", by_prefix("http://sweetgum.nybg.org/ih/herbarium_list.php?QueryName=DetailedQuery&Restriction=NamPartyType+%3D+%27IH+Herbarium%27&col_NamOrganisationAcronym=", |
|
225 |
"http://sweetgum.nybg.org/ih/")); |
|
226 |
print("</blockquote>\n"); |
|
227 |
} |
|
228 |
print("</blockquote>\n"); |
|
229 |
?> |
|
230 |
</td> |
|
231 |
</tr> |
|
232 |
</table> |
|
233 |
<?php |
|
234 |
if (ends_with($root, '#')) # URL shortener requires fragment redirect |
|
235 |
{ |
|
236 |
?> |
|
237 |
<script type="text/javascript"> |
|
238 |
var loc = document.location |
|
239 |
if (loc.hash) document.location = '?'+rm_prefix('#', loc.hash) |
|
240 |
</script> |
|
241 |
<?php |
|
242 |
} |
|
243 |
?> |
|
244 |
</body> |
|
245 |
</html> |
|
246 |
<?php |
|
247 |
ob_end_flush(); |
|
248 |
?> |
www/main/BIEN2/core/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien2/$0 [discardpath,noescape,last] |
www/main/BIEN2/geoscrub/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/geoscrub/$0 [discardpath,noescape,last] |
www/main/BIEN2/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/BIEN2/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ web/$0 [discardpath,noescape,last] |
www/main/BIEN2/staging/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien2_staging/$0 [discardpath,noescape,last] |
www/main/BIEN2/web/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien_web/$0 [discardpath,noescape,last] |
www/main/IH/db/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien3_adb/ih/$0 [discardpath,noescape,last] |
www/main/IH/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/IH/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^$ http://sweetgum.nybg.org/ih/ [discardpath,noescape,last] |
|
16 |
RewriteRule ^.+$ http://sweetgum.nybg.org/ih/herbarium_list.php?QueryName=DetailedQuery&Restriction=NamPartyType+\%3D+\%27IH+Herbarium\%27&col_NamOrganisationAcronym=$0 [discardpath,noescape,last] |
www/main/util.php | ||
---|---|---|
1 |
<?php |
|
2 |
function coalesce($value, $empty) { return isset($value) ? $value : $empty; } |
|
3 |
|
|
4 |
function starts_with($str, $prefix) |
|
5 |
{ |
|
6 |
return substr($str, 0, strlen($prefix)) === $prefix; |
|
7 |
} |
|
8 |
|
|
9 |
function ends_with($str, $suffix) |
|
10 |
{ |
|
11 |
return substr($str, -strlen($suffix)) === $suffix; |
|
12 |
} |
|
13 |
|
|
14 |
function rm_prefix($prefix, $str) |
|
15 |
{ |
|
16 |
return starts_with($str, $prefix) ? substr($str, strlen($prefix)) : $str; |
|
17 |
} |
|
18 |
|
|
19 |
function rm_suffix($suffix, $str) |
|
20 |
{ |
|
21 |
return ends_with($str, $suffix) ? |
|
22 |
substr($str, 0, strlen($str) - strlen($suffix)) : $str; |
|
23 |
} |
|
24 |
|
|
25 |
function ensure_prefix($prefix, $str) |
|
26 |
{ |
|
27 |
return starts_with($str, $prefix) ? $str : $prefix.$str; |
|
28 |
} |
|
29 |
|
|
30 |
function ensure_suffix($suffix, $str) |
|
31 |
{ |
|
32 |
return ends_with($str, $suffix) ? $str : $str.$suffix; |
|
33 |
} |
|
34 |
|
|
35 |
class Path |
|
36 |
{ |
|
37 |
public $head; |
|
38 |
public $tail; |
|
39 |
|
|
40 |
function Path($head, $tail="") |
|
41 |
{ |
|
42 |
$this->head = $head; |
|
43 |
$this->tail = $tail; |
|
44 |
} |
|
45 |
} |
|
46 |
|
|
47 |
function partition($str, $delim) |
|
48 |
{ |
|
49 |
$delim_idx = strpos($str, $delim); |
|
50 |
return $delim_idx !== false ? new Path(substr($str, 0, $delim_idx), |
|
51 |
substr($str, $delim_idx+strlen($delim))) : new Path($str); |
|
52 |
} |
|
53 |
|
|
54 |
function array_non_empty($array) |
|
55 |
{ |
|
56 |
foreach ($array as $key => $value) |
|
57 |
if (!isset($value) || $value === "") unset($array[$key]); |
|
58 |
return $array; |
|
59 |
} |
|
60 |
|
|
61 |
function join_non_empty($delim, $array) |
|
62 |
{ |
|
63 |
return implode($delim, array_non_empty($array)); |
|
64 |
} |
|
65 |
|
|
66 |
function parse_dot_path($path) { return partition($path, "."); } |
|
67 |
|
|
68 |
function parse_mixed_path($path) |
|
69 |
{ |
|
70 |
preg_match('/^([\w-]*)(.*)$/', $path, $path); |
|
71 |
return new Path($path[1], rm_prefix(".", $path[2])); |
|
72 |
} |
|
73 |
|
|
74 |
function strip_url($url) { return rm_suffix("#", $url); } |
|
75 |
?> |
www/main/.tnrs | ||
---|---|---|
1 |
link TNRS |
|
2 | 0 |
www/main/main.conf | ||
---|---|---|
1 |
<VirtualHost *:80> |
|
2 |
ServerRoot /home/bien/svn/web |
|
3 |
ServerAdmin aaronmk@nceas.ucsb.edu |
|
4 |
|
|
5 |
RewriteEngine on |
|
6 |
RewriteMap tolower int:tolower |
|
7 |
RewriteMap subdomain2path prg:subdomain2path |
|
8 |
|
|
9 |
DocumentRoot . |
|
10 |
<Directory main> |
|
11 |
AllowOverride all |
|
12 |
</Directory> |
|
13 |
|
|
14 |
ErrorLog logs/error_log |
|
15 |
CustomLog logs/access_log combined |
|
16 |
</VirtualHost> |
www/main/main.css | ||
---|---|---|
1 |
html {font-size: 10pt; font-family: Verdana, sans-serif;} |
|
2 |
a {color: blue; text-decoration: none;} |
|
3 |
a:hover {text-decoration: underline;} |
|
4 |
big, .big {font-size: 140%; font-weight: bold;} |
|
5 |
code, .code {font-weight: normal; font-family: Courier, monospace;} |
|
6 |
.progress {text-decoration: blink;} |
|
7 |
|
|
8 |
h2, h3, h4, h5, h6, blockquote {margin-bottom: 3pt; margin-right: 0;} |
|
9 |
h3, h4 {margin-top: 8pt;} |
|
10 |
blockquote, h5, h6 {margin-top: 4pt;} |
|
11 |
.indent {padding-left: 2em;} |
www/main/VegBank/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^$ http://vegbank.org/get/index/dba_tabledescription [discardpath,noescape,last] |
|
9 |
RewriteRule ^([^/]+)/(.*)$ http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&entity=dba_tabledescription&where=where_tablename&wparam=$1#$2 [discardpath,noescape,last] |
www/main/.ctfs | ||
---|---|---|
1 |
link CTFS |
|
2 | 0 |
www/main/VegBIEN/Redmine/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/VegBIEN/Redmine/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ wiki/$0 [discardpath,noescape,last] |
www/main/VegBIEN/Redmine/svn-web/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /VegBIEN/Redmine/main/repository/entry/$0 [discardpath,noescape,last] |
www/main/VegBIEN/Redmine/wiki/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^$ /VegBIEN/Redmine/main/wiki/Database_development/ [discardpath,noescape,last] |
|
9 |
RewriteRule ^.+$ /VegBIEN/Redmine/main/wiki/$0 [discardpath,noescape,last] |
www/main/VegBIEN/Redmine/main/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ https://projects.nceas.ucsb.edu/nceas/projects/bien/$0 [discardpath,noescape,last] |
www/main/VegBIEN/Redmine/svn/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /VegBIEN/Redmine/main/repository/raw/$0 [discardpath,noescape,last] |
www/main/VegBIEN/db/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/vegbiendev/vegbien/public/$0 [discardpath,noescape,last] |
www/main/VegBIEN/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/VegBIEN/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ db/$0 [discardpath,noescape,last] |
www/main/subdomain2path | ||
---|---|---|
1 |
#!/usr/bin/env php |
|
2 |
<?php |
|
3 |
while (($line = fgets(STDIN)) !== false) |
|
4 |
{ |
|
5 |
$subdomain = rtrim($line, "\n"); |
|
6 |
$path = implode("/", array_reverse(explode(".", $subdomain))); |
|
7 |
print($path."\n"); |
|
8 |
} |
|
9 |
?> |
|
10 | 0 |
www/main/svn-web | ||
---|---|---|
1 |
link .redmine/svn-web |
|
2 | 0 |
www/main/TNRS/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://tnrs.iplantcollaborative.org/instructions.html?$0#download_results [discardpath,noescape,last] |
www/main/.vegx | ||
---|---|---|
1 |
link VegX |
|
2 | 0 |
www/main/util.js | ||
---|---|---|
1 |
function is_undef(value) { return typeof value === 'undefined' } |
|
2 |
|
|
3 |
function coalesce(value, empty) { return !is_undef(value) ? value : empty } |
|
4 |
|
|
5 |
function starts_with(str, prefix) |
|
6 |
{ |
|
7 |
return str.substr(0, prefix.length) === prefix |
|
8 |
} |
|
9 |
|
|
10 |
function ends_with(str, suffix) { return str.substr(-suffix.length) === suffix } |
|
11 |
|
|
12 |
function rm_prefix(prefix, str) |
|
13 |
{ |
|
14 |
return starts_with(str, prefix) ? str.substr(prefix.length) : str |
|
15 |
} |
|
16 |
|
|
17 |
function rm_suffix(suffix, str) |
|
18 |
{ |
|
19 |
return ends_with(str, suffix) ? |
|
20 |
str.substr(0, str.length - suffix.length) : str |
|
21 |
} |
|
22 |
|
|
23 |
function partition(str, delim) |
|
24 |
{ |
|
25 |
var delim_idx = str.indexOf(delim) |
|
26 |
return delim_idx >= 0 ? {head: str.substr(0, delim_idx), |
|
27 |
tail: str.substr(delim_idx+delim.length)} : {head: str, tail: ''} |
|
28 |
} |
|
29 |
|
|
30 |
function parse_dot_path(path) { return partition(path, '.') } |
|
31 |
|
|
32 |
function parse_mixed_path(path) |
|
33 |
{ |
|
34 |
path = /^([\w-]*)(.*)$/.exec(path) |
|
35 |
return {head: path[1], tail: rm_prefix('.', path[2])} |
|
36 |
} |
|
37 |
|
|
38 |
function strip_url(url) { return rm_suffix('#', url) } |
www/main/dotpath.php | ||
---|---|---|
1 |
<?php |
|
2 |
# parses any dotpath in the query string |
|
3 |
|
|
4 |
require_once dirname(__FILE__)."/util.php"; |
|
5 |
|
|
6 |
@list($path, $query) = explode("&", $_SERVER["QUERY_STRING"], 2); |
|
7 |
|
|
8 |
## translate dotpaths (after the last /) to /-paths, e.g. d/a.[b.c] -> d/a/b.c |
|
9 |
# replace all unescaped . with / , e.g. a.[b.c] -> a/[b.c] |
|
10 |
# remove any [] escape, e.g. a.b=[c.d] -> a/b=c.d (the ] must be at the end) |
|
11 |
do |
|
12 |
{ |
|
13 |
$old_path = $path; |
|
14 |
$path = preg_replace('/^(.*\/)?(?=.)(\.?[^.\/]*?)(?:\[([^\[\]\/]*)\])?\.([^\/]*)$/', |
|
15 |
'$1$2$3/$4', $path); |
|
16 |
} while ($path !== $old_path); |
|
17 |
|
|
18 |
$url = ensure_suffix("/", $_SERVER["PATH_INFO"]).$path |
|
19 |
.(isset($query) ? "?&".$query : ""); |
|
20 |
header("Location: ".$url); |
|
21 |
?> |
www/main/TCS/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://www.tdwg.org/standards/117/download/#/v101.xsd#$0 [discardpath,noescape,last] |
www/main/.dwc | ||
---|---|---|
1 |
link DwC |
|
2 | 0 |
www/main/.vegbien | ||
---|---|---|
1 |
link VegBIEN |
|
2 | 0 |
www/main/CTFS/terms/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /Redmine/svn/inputs/CTFS/_src/ctfs-comments_worksheet.xls/#$0 [discardpath,noescape,last,redirect] |
www/main/CTFS/tables/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /Redmine/wiki/CTFS/?$0#Tables [discardpath,noescape,last,redirect] |
www/main/CTFS/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/CTFS/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ schema/$0 [discardpath,noescape,last] |
www/main/CTFS/schema/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /Redmine/svn/inputs/CTFS/_archive/DBv5.txt/#$0 [discardpath,noescape,last,redirect] |
www/main/.redmine | ||
---|---|---|
1 |
link VegBIEN/Redmine |
|
2 | 0 |
www/main/SALVIAS/users/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/salvias_users/$0 [discardpath,noescape,last] |
www/main/SALVIAS/db/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/salvias_plots/$0 [discardpath,noescape,last] |
www/main/SALVIAS/dd/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^(?!Plot_)(.+)$ Plot_$1 [discardpath,noescape] |
|
9 |
RewriteRule ^.*$ http://salvias.net/Documents/salvias_data_dictionary.html#$0 [discardpath,noescape,last] |
www/main/SALVIAS/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/SALVIAS/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ dd/$0 [discardpath,noescape,last] |
www/main/.phpPgAdmin/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^\[(.*)\]/([^/]*)/([^/]*)/([^/]*)/([^/]*)/(.+?)/?$ http://$1/redirect.php?server=$2&database=$3&schema=$4&table=$5&column=$6&subject=column [discardpath,noescape,last,redirect] |
|
9 |
RewriteRule ^\[(.*)\]/([^/]*)/([^/]*)/([^/]*)/(.+?)/?$ http://$1/redirect.php?server=$2&database=$3&schema=$4&table=$5&subject=table [discardpath,noescape,last,redirect] |
|
10 |
RewriteRule ^\[(.*)\]/([^/]*)/([^/]*)/(.+?)/?$ http://$1/redirect.php?server=$2&database=$3&schema=$4&subject=schema [discardpath,noescape,last,redirect] |
|
11 |
RewriteRule ^\[(.*)\]/([^/]*)/(.+?)/?$ http://$1/redirect.php?server=$2&database=$3&subject=database [discardpath,noescape,last,redirect] |
|
12 |
RewriteRule ^\[(.*)\]/(.+?)/?$ http://$1/redirect.php?server=$2&subject=server [discardpath,noescape,last,redirect] |
|
13 |
RewriteRule ^\[(.*)\]/?$ http://$1/redirect.php?subject=root [discardpath,noescape,last,redirect] |
www/main/svn | ||
---|---|---|
1 |
link .redmine/svn |
|
2 | 0 |
www/main/.tcs | ||
---|---|---|
1 |
link TCS |
|
2 | 0 |
www/main/VegX/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://wiki.tdwg.org/twiki/pub/Vegetation/WebHome/VegX_Schema_1.5.3_proposed.zip#/veg.xsd#$0 [discardpath,noescape,last] |
www/main/.htaccess | ||
---|---|---|
1 |
#### URL resolution |
|
2 |
|
|
3 |
Options +FollowSymLinks |
|
4 |
|
|
5 |
DirectorySlash on |
|
6 |
DirectoryIndex index.php |
|
7 |
|
|
8 |
### mod_rewrite |
|
9 |
|
|
10 |
RewriteEngine on |
|
11 |
RewriteOptions inherit |
|
12 |
|
|
13 |
# remove www subdomain |
|
14 |
RewriteCond %{HTTP_HOST} ^www\.(.*)$ |
|
15 |
RewriteRule ^.*$ http://%1/$0 [discardpath,noescape,last] |
|
16 |
|
|
17 |
# remove linewraps used to create a newline for Google spreadsheets |
|
18 |
RewriteRule ^_-(.*)$ /$1 [discardpath,noescape,last,redirect] |
|
19 |
|
|
20 |
# translate subdomain to path |
|
21 |
RewriteCond %{HTTP_HOST} !=vegbiendev.nceas.ucsb.edu |
|
22 |
RewriteCond %{HTTP_HOST} ^(.*)\.([^.]*\.[^.]*)$ |
|
23 |
RewriteRule ^.*$ http://%2/${subdomain2path:%1}/$0 [discardpath,noescape,last] |
|
24 |
|
|
25 |
# use separate lowercase version when available |
|
26 |
RewriteCond %{DOCUMENT_ROOT}/$1 !-d |
|
27 |
RewriteCond .${tolower:$1} ^.*$ |
|
28 |
RewriteCond %{DOCUMENT_ROOT}/%0 -d |
|
29 |
RewriteRule ^([^/]*)(/.*)$ %0$2 [discardpath,noescape] |
|
30 |
|
|
31 |
# parse dotpath in the query string |
|
32 |
RewriteRule ^dotpath - [discardpath,noescape,last] |
|
33 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
34 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
35 |
|
|
36 |
# don't redirect subdir paths |
|
37 |
RewriteCond %{DOCUMENT_ROOT}/$1 -d |
|
38 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
39 |
|
|
40 |
# don't rewrite existing paths |
|
41 |
RewriteCond %{REQUEST_FILENAME} -d [ornext] |
|
42 |
RewriteCond %{REQUEST_FILENAME} -f |
|
43 |
RewriteRule ^.*$ - [discardpath,noescape,last] |
|
44 |
|
|
45 |
## specific to / |
|
46 |
|
|
47 |
RewriteRule ^.*$ https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/VegCore#$0 [discardpath,noescape,last] |
www/main/DwC/history/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://rs.tdwg.org/dwc/terms/history/#$0 [discardpath,noescape,last] |
www/main/DwC/terms/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://rs.tdwg.org/dwc/terms/#$0 [discardpath,noescape,last] |
www/main/DwC/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/DwC/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ terms/$0 [discardpath,noescape,last] |
www/main/.bien2 | ||
---|---|---|
1 |
link BIEN2 |
|
2 | 0 |
www/main/.ih | ||
---|---|---|
1 |
link IH |
|
2 | 0 |
www/main/.salvias | ||
---|---|---|
1 |
link SALVIAS |
|
2 | 0 |
www/main/.phpMyAdmin/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^\[(.*)\]/([^/]*)/([^/]*)/(.+?)/?$ http://$1/?db=$2&table=$3&column=$4&target=tbl_structure.php [discardpath,noescape,last,redirect] |
|
9 |
RewriteRule ^\[(.*)\]/([^/]*)/(.+?)/?$ http://$1/?db=$2&table=$3&target=tbl_structure.php [discardpath,noescape,last,redirect] |
|
10 |
RewriteRule ^\[(.*)\]/(.+?)/?$ http://$1/?db=$2&target=db_structure.php [discardpath,noescape,last,redirect] |
|
11 |
RewriteRule ^\[(.*)\]/?$ http://$1/?target=server_databases.php [discardpath,noescape,last,redirect] |
web/BIEN2/core/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien2/$0 [discardpath,noescape,last] |
web/BIEN2/staging/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /servers/nimoy/bien2_staging/$0 [discardpath,noescape,last] |
web/IH/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/IH/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^$ http://sweetgum.nybg.org/ih/ [discardpath,noescape,last] |
|
16 |
RewriteRule ^.+$ http://sweetgum.nybg.org/ih/herbarium_list.php?QueryName=DetailedQuery&Restriction=NamPartyType+\%3D+\%27IH+Herbarium\%27&col_NamOrganisationAcronym=$0 [discardpath,noescape,last] |
web/VegBank/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^$ http://vegbank.org/get/index/dba_tabledescription [discardpath,noescape,last] |
|
9 |
RewriteRule ^([^/]+)/(.*)$ http://vegbank.org/vegbank/views/dba_tabledescription_detail.jsp?view=detail&entity=dba_tabledescription&where=where_tablename&wparam=$1#$2 [discardpath,noescape,last] |
web/.salvias | ||
---|---|---|
1 |
link SALVIAS |
|
0 | 2 |
web/DwC/history/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ http://rs.tdwg.org/dwc/terms/history/#$0 [discardpath,noescape,last] |
web/DwC/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
# don't redirect subdir paths |
|
9 |
RewriteCond %{DOCUMENT_ROOT}/DwC/$1 -d |
|
10 |
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last] |
|
11 |
|
|
12 |
# handle DirectoryIndex (this must be at this position in the rules) |
|
13 |
RewriteRule ^(.*/)?index\.php$ $1 [discardpath,noescape] |
|
14 |
|
|
15 |
RewriteRule ^.*$ terms/$0 [discardpath,noescape,last] |
web/servers/nimoy/.htaccess | ||
---|---|---|
1 |
RewriteEngine on |
|
2 |
RewriteOptions inherit |
|
3 |
|
|
4 |
# parse dotpath in the query string |
|
5 |
RewriteCond %{QUERY_STRING} ^(?!&).+$ |
|
6 |
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last] |
|
7 |
|
|
8 |
RewriteRule ^.*$ /.phpMyAdmin/[nimoy.nceas.ucsb.edu/phpmyadmin]/$0 [discardpath,noescape,last] |
web/servers/vegbiendev/fs | ||
---|---|---|
1 |
link ../../../.. |
|
0 | 2 |
web/index.php | ||
---|---|---|
1 |
<?php |
|
2 |
require_once dirname(__FILE__)."/util.php"; |
|
3 |
|
|
4 |
$self_dir = ensure_suffix("/", dirname($_SERVER["SCRIPT_NAME"])); |
|
5 |
|
|
6 |
# config |
|
7 |
$alias = "j.mp/vegpath#"; |
|
8 |
|
|
9 |
function by_prefix($url, $main_url=null) |
|
10 |
{ |
|
11 |
if (!isset($main_url)) $main_url = $url; |
|
12 |
|
|
13 |
return function($path) use($url, $main_url) |
|
14 |
{ |
|
15 |
return $path ? $url.$path : $main_url; |
|
16 |
}; |
|
17 |
} |
|
18 |
|
|
19 |
$h_level = 5; |
|
20 |
$root = $_SERVER["SERVER_NAME"] === gethostbyaddr($_SERVER["SERVER_ADDR"]) |
|
21 |
? $alias : $_SERVER["SERVER_NAME"].rm_suffix("/", $self_dir)."?"; |
|
22 |
# instead of PATH_INFO, to support the Apache ErrorDocument directive |
|
23 |
$rel_fs_path = rm_prefix($self_dir, $_SERVER["REQUEST_URI"]); |
|
24 |
$path = parse_dot_path($rel_fs_path); |
|
25 |
$ns = strtolower($path->head); |
|
26 |
|
|
27 |
function add_ns($name, $path_pat, $url_func) |
|
28 |
{ |
|
29 |
global $root, $h_level, $path, $ns; |
|
30 |
if (is_string($url_func)) $url_func = by_prefix($url_func); |
|
31 |
|
|
32 |
print("<h".$h_level.' id="'.$name.'">'.$root.'<big><a href="http://'.$root |
|
33 |
.$name.'">'.$name."</a></big><i>".$path_pat."</i></h".$h_level.">\n"); |
|
34 |
if ($ns === strtolower($name)) # found match, so redirect |
|
35 |
{ |
|
36 |
header("Location: ".strip_url($url_func($path->tail))); |
|
37 |
ob_end_flush(); |
|
38 |
exit; |
|
39 |
} |
|
40 |
} |
|
41 |
|
|
42 |
function custom_separator($url, $sep, $main_url=null) |
|
43 |
{ |
|
44 |
if (!isset($main_url)) $main_url = $url; |
|
45 |
|
|
46 |
return function($path) use($url, $sep, $main_url) |
|
47 |
{ |
|
48 |
if ($path === "") return $main_url; |
|
49 |
$path = parse_dot_path($path); |
|
50 |
return $url.join_non_empty($sep, array($path->head, $path->tail)); |
|
51 |
}; |
|
52 |
} |
|
53 |
|
|
54 |
function fragment_override($url, $fragment=null) |
|
55 |
{ |
|
56 |
return function($path) use($url, $fragment) |
|
57 |
{ |
|
58 |
if (!isset($fragment)) |
|
59 |
{ |
|
60 |
$path = parse_dot_path($path); |
|
61 |
$fragment = $path->head; |
|
62 |
$path = $path->tail; |
|
63 |
} |
|
64 |
if ($path !== "") $url .= "?".$path; |
|
65 |
return $url."#".$fragment; |
|
66 |
}; |
|
67 |
} |
|
68 |
|
|
69 |
function phpPgAdmin($url, $table=null) |
|
70 |
{ |
|
71 |
return function($path) use($url, $table) |
|
72 |
{ |
|
73 |
$path = join_non_empty(".", array($table, $path)); |
|
74 |
$path = parse_dot_path($path); |
|
75 |
$subject = "schema"; |
|
76 |
if ($path->head !== "") |
|
77 |
{ |
|
78 |
$url .= "&table=".$path->head; |
|
79 |
if ($path->tail !== "") |
|
80 |
{ |
|
81 |
$url .= "&column=".$path->tail; |
|
82 |
$subject = "column"; |
|
83 |
} |
|
84 |
else $subject = "table"; |
|
85 |
} |
|
86 |
$url .= "&subject=".$subject; |
|
87 |
return $url; |
|
88 |
}; |
|
89 |
} |
|
90 |
|
|
91 |
function phpMyAdmin($url, $table=null) |
|
92 |
{ |
|
93 |
return function($path) use($url, $table) |
|
94 |
{ |
|
95 |
$path = join_non_empty(".", array($table, $path)); |
|
96 |
$path = parse_dot_path($path); |
|
97 |
$target = "db_structure"; |
|
98 |
if ($path->head !== "") |
|
99 |
{ |
|
100 |
$url .= "&table=".$path->head; |
|
101 |
if ($path->tail !== "") $url .= "&column=".$path->tail; |
|
102 |
$target = "tbl_structure"; |
|
103 |
} |
|
104 |
$url .= "&target=".$target.".php"; |
|
105 |
return $url; |
|
106 |
}; |
|
107 |
} |
|
108 |
|
|
109 |
ob_start(); // delay output in case there is a redirect |
|
110 |
?> |
|
111 |
<html> |
|
112 |
<head> |
|
113 |
<title>VegPath</title> |
|
114 |
<link rel="stylesheet" type="text/css" href="/main.css" /> |
|
115 |
<style type="text/css"> |
|
116 |
h1 {color: green;} |
|
117 |
</style> |
|
118 |
<script type="text/javascript" src="/util.js"></script> |
|
119 |
</head> |
|
120 |
<body> |
Also available in: Unified diff
Renamed www/ back to web/