############################################################# # begin mod_rewrite directives for the Make2D-DB II Tool ############################################################# RewriteEngine on # RewriteLog "/var/www/html/2d/data/tmp/RewriteMod.log" # RewriteLogLevel 2 # - read the specific map file - RewriteMap make2d-db_II_2d txt:/var/www/cgi-bin/2d/inc/make2db_map.txt # - no redirection accessing the server data/files RewriteRule ^/2d/data/ - [L] # - no redirection accessing the 'core' scripts RewriteRule ^/2d/.*.core..* - [L] # - nor the 'admin' shortcut for the 'core' scripts RewriteRule ^/2d/admin$ - [L] # - rewrite non defined IDs => all - RewriteRule ^/(2d|test-2dpage_i|test-2dpage_ii)/maps?/?$ /$1/map/map=all [R] RewriteRule ^/(2d|test-2dpage_i|test-2dpage_ii)/entr(y|ies)/?$ /$1/entry/ac=all [R] # - direct root calls for sub-databases (datasets) to the main root (which is directed on its own turn) - RewriteRule ^/(test-2dpage_i|test-2dpage_ii)/?$ /2d/ [R] RewriteRule ^/(test-2dpage_i|test-2dpage_ii)(/)view$ ${make2d-db_II_2d:viewer|/}&database=$1 [P,T=application/x-httpd-cgi] # - we can already direct root access to the main/viewer script - RewriteRule ^/2d/?$ ${make2d-db_II_2d:main|/} [P,T=application/x-httpd-cgi] RewriteRule ^/2d(/)view(er)?$ ${make2d-db_II_2d:viewer|/} [P,T=application/x-httpd-cgi] # - rewrite calls for sub-databases with the global database name after adding the 'database=X' argument RewriteRule ^/(test-2dpage_i|test-2dpage_ii)(/.+)$ /2d$2&database=$1 [R] # - for entries, prefix 'ac=' to arguments whenever the arguments do not contain a ac=value chain (except when other 'entities' or the viewer are defined first) - RewriteRule ^/2d/((map|spot|view)=|viewer) - [S=3] RewriteRule ^/2d(/entr(y|ies))?/[^/]*ac=[^/]+$ - [S=2] RewriteRule ^/2d/(database=) - [S=1] RewriteRule ^/2d(/entr(y|ies))?/([^/]+)$ /2d$1/ac=$3 [R] # - for maps, prefix 'map=' to arguments whenever the arguments do not contain a map=value chain - RewriteRule ^/(2d/maps?/[^/]*map=[^/]+)$ /$1 [S=1] RewriteRule ^/2d/maps?/([^/]+)$ /2d/map/map=$1 [R] # - for spots, prefix 'spot=' to arguments whenever the arguments do not contain a spot=value chain - RewriteRule ^/(2d/spots?/[^/]*spot=[^/]+)$ /$1 [S=1] RewriteRule ^/2d/spots?/([^/]+)$ /2d/spot/spot=$1 [R] # - now execute the main or the viewer script - RewriteRule ^/2d(/(entr(y|ies)|maps?|spots?))?/(viewer[^/]*)$ ${make2d-db_II_2d:viewer}?$4 [P,T=application/x-httpd-cgi] RewriteRule ^/2d(/(entr(y|ies)|maps?|spots?))?/([^/]*view=image[^/]*)$ ${make2d-db_II_2d:viewer}?$4 [P,T=application/x-httpd-cgi] RewriteRule ^/2d(/(entr(y|ies)|maps?|spots?))?/([^/]+)$ ${make2d-db_II_2d:main}?$4 [P,T=application/x-httpd-cgi] ############################################################# # end mod_rewrite directives for the Make2D-DB II Tool #############################################################