# This file is a comma-separated set of rules for matching URLs to the pages they refer to. Rows are tried in order The following syntax is expected of each row: # Col 1: regexp to match # Col 2: page to use # [Col 3: varname for subexpr 1] # [Col 4: varname for subexpr 2] # [Col 5: varname=static value 1] # [Col 6: varname=static value 2] # #-ed lines are ignored. # Something like the following line should always be last to catch unrecognized URLs # ^ 404 # Home welcome # Builds builds builds/index build/([a-z0-9]{6}) builds/log build build/([a-z0-9]{6})/([0-9]+) builds/task build task build/([a-z0-9]{6})/([0-9]+)/([0-9]+) builds/task build task page build/([a-zA-Z0-9]{6})/download builds/download build build/([a-zA-Z0-9]{6})/history builds/history build build/([a-zA-Z0-9]{6})/delete builds/delete build build/([a-zA-Z0-9]{6})/cancel builds/delete build #build/([a-z0-9]{6})/live builds/live build # Configurations create configurations/wizard config/([a-zA-Z0-9]{6}) configurations/wizard configuration config/([a-zA-Z0-9]{6})/([0-9]+) configurations/wizard configuration step config/([a-zA-Z0-9]{6})/status configurations/status configuration configurations configurations/manager # Session login login login/(.+) login go logout logout logout/(.+) logout go # Account stuff register register register/([a-zA-Z0-9]{30}) register token invite invite forgot users/forgot-password reset users/reset-password # Pass through (js)/([0-9a-zA-Z-_]+\.(js)) passthrough dir file ext (images)/([0-9a-zA-Z-_]+\.(gif|jpg|jpeg|ico|png)) passthrough dir file ext (?:.*/)?(favicon.(ico))$ passthrough file ext dir=images # Replace xinha with a directory name to turn it into fairly normal handling like without all this crazy redirecting #(xinha(?=/)[0-9a-zA-Z-_./]*).(?<=/)([0-9a-zA-Z-_.]+\.([a-zA-Z0-9]+)) passthrough dir file ext # CSS style.css stylesheet # Backend access only backend/upload_image upload # This is the catch-all - never remove it .* 404