Project

General

Profile

Statistics
| Revision:

# Date Author Comment
8028 03/15/2013 07:02 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Require any [] escape to have the ] at the end of the level, to simplify the [] regexp

8027 03/15/2013 06:54 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Use a lookahead assertion to ensure that at least one character is matched as the head of the dotpath. This ensures that (.*/)? + the rest of the regexp does not match a path with a trailing /, which is a sealed /-path and not subject to dotpath translation.

8026 03/15/2013 06:46 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Only support one [] escape per dot-level to (greatly) shorten the [] regexp. This does not pose a problem for encoding . because the entire level can simply be enclosed in [].

8025 03/15/2013 06:17 PM Aaron Marcuse-Kubitza

web/main/.htaccess: Uncommented ErrorDocument

8024 03/15/2013 06:15 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Removed separate sealing of the /-path, which is now performed by the main RewriteRule because it appends a / even if there is no . suffix. This does not cause an infinite loop because a character is always added (/), which prevents the previously-matched head (after the last / but before any .) from being matched again.

8023 03/15/2013 06:05 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Fixed bug where it's actually the portion before the . (but after the last /) that should be subject to []-unescaping, rather than the portion after the . . Fixed bug where [] escapes were not being unescaped because the wildcard .* group matched the whole head portion instead of allowing the []-captures to match.

8022 03/15/2013 03:17 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate subdomain to path: Don't use expr RewriteConds because they are not supported by Apache 2.2. Instead issue an external redirect with the subdomain part of the hostname removed, for the purpose of changing HTTP_HOST so that the replacement is not performed again if the mod_rewrite rules are run more than once.

8021 03/15/2013 02:46 PM Aaron Marcuse-Kubitza

web/main/**/.htaccess: Use RewriteEngine, inheriting the web/main/.htaccess rules, in order to translate dotpaths that follow /-paths to existing dirs

8020 03/15/2013 02:45 PM Aaron Marcuse-Kubitza

web/main/DwC/.htaccess: Moved DwC.history redirect to web/main/DwC/history/.htaccess

8019 03/15/2013 02:40 PM Aaron Marcuse-Kubitza

web/main/SALVIAS/db/.htaccess: Removed trailing / because for DB redirects, this is apparently necessary

8018 03/15/2013 02:30 PM Aaron Marcuse-Kubitza

web/main/.phpMyAdmin/.htaccess: Prepend http:// to the dest URL stem, instead of requiring the dest URL to provide the protocol, because the two // are replaced with one / by Apache when mod_rewrite is on, creating an invalid URL

8017 03/15/2013 01:55 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: Fixed bug where can't remove all [] escapes, because this would also remove [] from protected parts of the URL (i.e. before the last /). Instead just remove up to two [] escapes per dot-level, e.g. a.[b.c]=[d.e] -> a/b.c=d.e . Note that this removes the restriction against URLs containing "[]", because these [] will be left as-is as long as they are followed at some point by a / .

8016 03/15/2013 01:41 PM Aaron Marcuse-Kubitza

Removed web/.htaccess because it is not part of any site (web/main/.htaccess is the top-level .htaccess file for the default site)

8015 03/15/2013 01:17 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: replace all unescaped . with / : Allow empty components on either side of the . , to ensure that all unescaped dots are consistently replaced with / . Note that hidden directories that start with . will have the . preserved, because they have (or get) a trailing slash, which prevents dotpath from operating on them.

8014 03/15/2013 01:13 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths: remove all [] escapes: Also remove empty [] to allow permalinking clients to easily generate escaped strings by URL-encoding the value and enclosing it in [], which will now also work even if the value is empty. This change will break any destination URLs that use "[]", such as PHP scripts that use this to indicate an array variable in the query string. In these URLs, the [] must now be %-encoded.

8013 03/15/2013 01:00 PM Aaron Marcuse-Kubitza

web/main/.htaccess: RewriteRules with [redirect] and http:// : Removed [redirect] because it is implied when the replacement is an absolute URL

8012 03/15/2013 12:57 PM Aaron Marcuse-Kubitza

web/main/.htaccess: RewriteRules with [redirect]: Added last because apparently redirect will not immediately cause the redirect, and will instead continue rewriting the URL ("You will almost always want to use [R] in conjunction with [L] (that is, use [R,L]) because on its own, the [R] flag prepends http://thishost[:thisport] to the URI, but then passes this on to the next rule in the ruleset, which can often result in 'Invalid URI in request' warnings." <http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_r&gt;)

8011 03/15/2013 12:34 PM Aaron Marcuse-Kubitza

web/main/.htaccess: RewriteRules: Added [discardpath,noescape] flags to all rules, because these are needed for correct interpretation of the replacement and should be the default setting. For some rules they may be optional, but it is better to include them on all rules to ensure there is never an unexpected effect from omitting them.

8010 03/15/2013 12:29 PM Aaron Marcuse-Kubitza

web/main/.htaccess: Added "RewriteOptions inherit" because this1 should be the default setting, to ensure that global filter rules also occur in subdirs. Note that the presence of this directive in this .htaccess file does not solve this problem, but putting it there will remind writers of subdir .htaccess files that they need to include that directive....

8009 03/15/2013 12:02 PM Aaron Marcuse-Kubitza

web/main/SALVIAS/.htaccess: RedirectMatch for below top-level: Use /(.*?)/?$ suffix for consistency with other sources' RedirectMatch patterns

8008 03/15/2013 12:00 PM Aaron Marcuse-Kubitza

web/main/TCS,VegX/.htaccess: Fixed bug where need to match dirs by themselves in addition to when followed by a filename

8007 03/15/2013 11:58 AM Aaron Marcuse-Kubitza

web/main/DwC/.htaccess: Fixed bug where need to match dirs by themselves (/DwC/, /DwC/history/) in addition to when followed by a filename

8006 03/15/2013 11:44 AM Aaron Marcuse-Kubitza

web/main/.htaccess: mod_rewrite: Removed unneeded RewriteBase, because the default setting for RewriteBase is actually the dir of the .htaccess file itself, rather than always / . ("RewriteRule can be used in per-directory config files (.htaccess). There it will act locally, i.e., the local directory prefix is stripped at this stage of processing and your rewriting rules act only on the remainder. At the end it is automatically added back to the path." <http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteBase&gt;)

8005 03/15/2013 11:30 AM Aaron Marcuse-Kubitza

web/main/SALVIAS/*/.htaccess: Added trailing / to Redirect paths, which works now that a trailing / is automatically added to all paths by dotpath translation

8004 03/15/2013 11:28 AM Aaron Marcuse-Kubitza

web/main/SALVIAS/: Moved db/ and users/ actions to their corresponding subdirs. The rules will still be run in the appropriate order, because if a .htaccess exists in a subdir, it will be used in preference to the .htaccess in the parent dir.

8003 03/15/2013 10:26 AM Aaron Marcuse-Kubitza

my2pg: Removed SETs for standard_conforming_strings, escape_string_warning because these are also prepended by my2pg.data, which this script's output is piped to

8002 03/15/2013 10:00 AM Aaron Marcuse-Kubitza

my2pg.data: \0 removal: Fixed bug where need to handle all backslashes before the 0, because they might escape just each other (an even number of \) rather than also encoding the \0 (an odd number of \)

8001 03/15/2013 08:20 AM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths to /-paths: Added examples

8000 03/15/2013 08:04 AM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dotpaths to /-paths: Translate all .-separated components in the path to / instead of just those that exist in the filesystem. This allows per-source rules to match just a / for the path-element separator instead of sometimes / and other times . (depending on whether that portion of the dotpath had been translated). Support [] escapes that preserve any . they surround, e.g. a.[b.c] -> a/b.c . (Supporting []-escapes requires that the /-path be "sealed" by appending a / , to prevent the . -> / translation rule from reinterpreting a newly-unescaped [] sequence as a dotpath. This also requires that the translation rule ignore anything before the last /, because it could have been []-unescaped by a previous round of mod_rewrite, e.g. in another dir. All the per-source rules need to be retrofitted to support the new trailing / .) Note also the discardpath flag (http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_dpi) on all RewriteRules that perform a replacement on the input string (i.e. that have a pattern other than ^.*$). This flag is needed to avoid infinite loops, because otherwise, a critical bug in mod_rewrite causes it to reappend the filename portion of the input string (PATH_INFO) to the result, causing it to be present twice, e.g. a/b -> a/b/b (https://issues.apache.org/bugzilla/show_bug.cgi?id=38642).

7999 03/15/2013 03:09 AM Aaron Marcuse-Kubitza

web/main/nimoy/: Moved to web/main/servers/ so it can be grouped with other resources that are servers

7998 03/14/2013 11:57 PM Aaron Marcuse-Kubitza

web/main/index.php: $root: Fixed bug where need to use gethostbyaddr($_SERVER["SERVER_ADDR"]) instead of $_SERVER["SERVER_NAME"] because SERVER_NAME is actually set to whichever hostname the server is accessed through (e.g. path.vg or vegbiendev.nceas.ucsb.edu), rather than always being set to the reverse-DNS lookup of SERVER_ADDR, as is specified in the Apache docs ("If no ServerName is specified, then the server attempts to deduce the hostname by performing a reverse lookup on the IP address" <http://httpd.apache.org/docs/2.2/mod/core.html#servername&gt;)

7997 03/14/2013 11:01 PM Aaron Marcuse-Kubitza

web/main/.htaccess: Added back "don't rewrite existing paths" to ensure that rules after it will not rewrite any actual files (web page dependencies)

7996 03/14/2013 10:50 PM Aaron Marcuse-Kubitza

web/main/nimoy/.htaccess: Removed no longer needed trailing /

7995 03/14/2013 10:49 PM Aaron Marcuse-Kubitza

web/main/.phpMyAdmin/.htaccess: Add trailing / to provided URL in case the user didn't add it

7994 03/14/2013 10:46 PM Aaron Marcuse-Kubitza

web/main/nimoy/.htaccess: Removed unnecessary index.php from end of phpMyAdmin URL

7993 03/13/2013 11:09 PM Aaron Marcuse-Kubitza

web/main/DwC,SALVIAS,TCS,VegX: Added .htaccess redirects and dot-path-matching empty dirs, which will replace the index.php redirects with a simpler syntax (http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect)

7992 03/13/2013 09:15 PM Aaron Marcuse-Kubitza

web/main/.htaccess: translate dot-paths to dirs: Documented that this only occurs when the dirs exist in the filesystem, and that each subdir Redirect directive needs a corresponding tree of (empty) dirs

7991 03/13/2013 08:49 PM Aaron Marcuse-Kubitza

Removed no longer used web/main/_archive/index.htm. Use web/main/index.php instead, which issues the Location: header to support clients other than web browsers.

7990 03/13/2013 08:37 PM Aaron Marcuse-Kubitza

web/vegpath/: Renamed to web/main/ because the content here is the main site hosted on vegbiendev. It will eventually contain internal links to VegBIEN resources in addition to external links (persistent URLs) to sources used in creating VegBIEN.

7989 03/13/2013 07:45 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Removed "don't rewrite existing paths" RewriteRule because there are no longer any rules after it that require it

7988 03/13/2013 07:31 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate dot-paths to dirs: translate all levels of dot-paths present in the filesystem rather than just the first level, by using the [next] RewriteRule flag (http://httpd.apache.org/docs/current/rewrite/flags.html#flag_n). This avoids the need to translate further levels of dot-paths in each subdir's .htaccess.

7987 03/13/2013 07:07 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to path: Simplified using new subdomain2path RewriteMap, which avoids the need for a separate RewriteRule+RewriteConds for each number of nested subdomains

7986 03/13/2013 07:06 PM Aaron Marcuse-Kubitza

web/vegpath.conf: subdomain2path RewriteMap: Fixed bug where need `RewriteEngine on` in the VirtualHost config for a prg: RewriteMap to take effect ("External rewriting programs are not started if they're defined in a context that does not have RewriteEngine set to on." <http://httpd.apache.org/docs/current/rewrite/rewritemap.html#prg&gt;)

7985 03/13/2013 06:00 PM Aaron Marcuse-Kubitza

web/vegpath.conf: Added subdomain2path RewriteMap

7984 03/13/2013 06:00 PM Aaron Marcuse-Kubitza

Added web/subdomain2path for use by RewriteMap

7983 03/13/2013 05:49 PM Aaron Marcuse-Kubitza

web/vegpath.conf: Added spacing between sections and reordered directives

7982 03/13/2013 05:43 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate 2-level subdomain to prefix: interpret subdomains in (standard) reverse instead of forward order (e.g. history.DwC instead of DwC.history)

7981 03/13/2013 05:39 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Don't also translate dash-paths to dirs (in addition to dot-paths) because this adds unnecessary complexity and was only used to allow expressing parts of subdomain paths in forward instead of reverse order (e.g. DwC-history instead of history.DwC)

7980 03/13/2013 05:31 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate dot-/dash-paths to dirs: don't match / inside a . or - component, because it has a lower precedence

7979 03/13/2013 05:31 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate dot-/dash-paths to dirs: changed comment to indicate that these rules can (eventually) translate any dot-/dash-path, not just the head

7978 03/13/2013 04:30 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: Use last to avoid further rewriting, since these rules make the destination a /-path

7977 03/13/2013 04:28 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Also translate dash-paths (e.g. DwC-history) to dirs

7976 03/13/2013 10:41 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate both 1-level and 2-level subdomains to dir prefixes

7975 03/13/2013 10:39 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: HTTP_HOST RewriteCond: Don't capture part after . because it isn't used as a replacement (it used to be used for this when a now-unnecessary browser redirect was performed)

7974 03/13/2013 10:33 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: don't rewrite existing paths: Moved before other RewriteRules so that page dependencies (such as util.js) can be loaded more quickly without needing to pass through all the rewrite rules first

7973 03/13/2013 10:04 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: ErrorDocument: Use / instead of /index.php because index.php is the DirectoryIndex and doesn't need to be hardcoded

7972 03/13/2013 09:44 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: Fixed bug where can only run this is if the dest subdir has a .htaccess file, because this prevents the RewriteRule from being re-run for the subdir (which would lead to infinite recursion because the rule is not idempotent)

7971 03/13/2013 09:37 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: Fixed bug where need to prepend %{DOCUMENT_ROOT} to the file path when testing it for existence

7970 03/13/2013 09:16 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate path head to dir (if the dir exists)

7969 03/13/2013 08:56 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: Set nosubreq to avoid infinite recursion (the RewriteRule is not idempotent)

7968 03/13/2013 08:43 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: translate subdomain to prefix: Don't translate all nested subdomains, because some of them may result from the machine's own name (vegbiendev.nceas.ucsb.edu) and should not be removed. Instead, remove only the leftmost level of subdomain, and only if it corresponds to a filesystem directory.

7967 03/13/2013 08:39 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Use $alias whenever VegPath was reached via the machine's own name (vegbiendev.nceas.ucsb.edu) rather than via a shortened domain (path.vg), so that the right path root can seamlessly be used when path.vg is down

7966 03/13/2013 07:50 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Translate subdomain to path prefix

7965 03/13/2013 07:30 AM Aaron Marcuse-Kubitza

Added inputs/MO/_src/TropicosSpecimens_2013_03_12_*.txt.md5

7964 03/13/2013 07:25 AM Aaron Marcuse-Kubitza

Added inputs/MO/_archive

7963 03/13/2013 07:25 AM Aaron Marcuse-Kubitza

Added inputs/MO/_src/

7962 03/13/2013 07:14 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Brad-Boyle root: Fixed link

7961 03/13/2013 07:12 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: CTFS root: Fixed link

7960 03/13/2013 07:11 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: CTFS-schema: Use $Redmine_svn

7959 03/13/2013 06:46 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Remove www subdomain

7958 03/13/2013 06:25 AM Aaron Marcuse-Kubitza

Added web/logs/

7957 03/13/2013 06:22 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: Use the simpler ErrorDocument directive instead of a catch-all RewriteRule to handle non-filesystem paths

7956 03/13/2013 06:11 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: $alias: Use HTTP_HOST and SCRIPT_NAME so the alias doesn't need to be hardcoded

7955 03/13/2013 06:09 AM Aaron Marcuse-Kubitza

web/vegpath/util.php: Added ensure_prefix(), ensure_suffix()

7954 03/13/2013 05:32 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Switching back to path.vg now that the .vg root DNS is back online

7953 03/13/2013 04:36 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Use REQUEST_URI (removing the script's own dir) instead of PATH_INFO, to support being used for the Apache ErrorDocument directive

7952 03/13/2013 04:24 AM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: mod_rewrite: Don't run any further rewrite rules if path exists, to avoid needing to add RewriteConds to each RewriteRule to check if the path exists

7951 03/13/2013 01:39 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Changed page title to contain "persistent URLs" because VegPaths are conceptually a type of PURL <http://en.wikipedia.org/wiki/PURL>

7950 03/13/2013 12:04 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: $alias: Switching back to j.mp/vegpath# because the .vg root DNS server is down. (The .vg registrar adamsnames.com also displays an under construction page.) If the registrar stays down, we may want to switch a different top-level domain.

7949 03/12/2013 07:59 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: DirectoryIndex: Removed index.htm because HTML files should not be used for redirection (they don't issue the Location: header needed by clients other than web browsers)

7948 03/12/2013 07:52 PM Aaron Marcuse-Kubitza

web/vegpath/.htaccess: mod_rewrite: Added `RewriteOptions inherit` so this .htaccess file can be copied to subdirs and will inherit the "unknown paths" rule

7947 03/12/2013 07:37 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Use $PATH_INFO (i.e. index.php/$PATH_INFO) instead of the query string to pass the path to index.php, so that the query string can be used for other things

7946 03/12/2013 04:28 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: top-level path parsing: Use parse_dot_path() instead of parse_mixed_path() because XPaths are now (client-side) fragments, and don't need to be supported by the path mechanism

7945 03/12/2013 04:26 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: SALVIAS: Don't append #Plot_ when there is no subpath

7944 03/12/2013 03:19 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: SALVIAS: Factored out URL to $SALVIAS

7943 03/12/2013 03:16 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: SALVIAS: Appended Plot_ to dest URL because both data dictionary sections start with this, so it doesn't need to be included in the VegPath

7942 03/12/2013 02:56 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: XPath resources: Removed # at end of destination URL because the # is now part of the #/XPath suffix (and is added by the user)

7941 03/12/2013 02:53 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: XPath resources: Added # before XPath because the XPath is actually a location within the resource, and thus resolvable by the client (or user) themselves, rather than part of the redirected URL (which only needs to forward to the XML schema file)

7940 03/12/2013 02:41 AM Aaron Marcuse-Kubitza

web/vegpath/index.php: Updated $alias to the newly-registered path.vg domain, which is shorter and more intuitive-looking than the previous value j.mp/vegpath (from bitly.com). Note that using a domain also allows redirects without JavaScript, which can be used by any web client (such as a Python script), not just a web browser.

7939 03/11/2013 11:19 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Renamed ref to ns to emphasize that the resources in this field are namespaces for the paths

7938 03/11/2013 11:16 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: add_ref(): Renamed $suffix to $path_pat to distinguish it from the actual suffix string sent in the URL

7937 03/11/2013 11:09 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: custom_separator(): Marked optional params as such

7936 03/11/2013 11:07 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Terms: IH-db: Factored out phpMyAdmin URL into $IH_db

7935 03/11/2013 11:05 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Terms: Added IH-db

7934 03/11/2013 11:05 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: php*Admin(): Added support for a fixed table that doesn't need to be specified in the path

7933 03/11/2013 10:43 PM Aaron Marcuse-Kubitza

web/: Removed svn:executable permissions from non-executable files

7932 03/11/2013 10:36 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Data: Added Institutions subsection

7931 03/11/2013 10:33 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: Placed Terms and Data sections side-by-side in two columns so that data resources would not need to come after a long list of terms resources

7930 03/11/2013 10:31 PM Aaron Marcuse-Kubitza

web/vegpath/main.css: Added .indent

7929 03/11/2013 10:11 PM Aaron Marcuse-Kubitza

web/vegpath/index.php: People: Added Brad's VegCore ID terms spreadsheets