Domtool Module Mod_rewrite

Support for Apache's mod_rewrite, which allows fancy mappings from URLs to resources


extern type redirect_code
extern val temp : redirect_code
extern val permanent : redirect_code
extern val seeother : redirect_code
extern val redir300 : redirect_code
extern val redir301 : redirect_code
extern val redir302 : redirect_code
extern val redir303 : redirect_code
extern val redir304 : redirect_code
extern val redir305 : redirect_code
extern val redir307 : redirect_code
extern val notfound : redirect_code
extern type rewrite_arg
extern type mod_rewrite_flag
extern val redirect : mod_rewrite_flag
extern val forbidden : mod_rewrite_flag
extern val gone : mod_rewrite_flag
extern val last : mod_rewrite_flag
extern val chain : mod_rewrite_flag
extern val nosubreq : mod_rewrite_flag
extern val nocase : mod_rewrite_flag
extern val qsappend : mod_rewrite_flag
extern val noescape : mod_rewrite_flag
extern val passthrough : mod_rewrite_flag
extern val mimeType : rewrite_arg -> mod_rewrite_flag
extern val redirectWith : redirect_code -> mod_rewrite_flag
extern val skip : int -> mod_rewrite_flag
extern val env : rewrite_arg -> rewrite_arg -> mod_rewrite_flag
extern type mod_rewrite_cond_flag
extern val cond_nocase : mod_rewrite_cond_flag
extern val ornext : mod_rewrite_cond_flag
extern val rewriteRule : regexp -> no_spaces -> [mod_rewrite_flag] -> [^Vhost]
extern val rewriteCond :
 no_spaces -> regexp -> [mod_rewrite_cond_flag] -> [^Vhost]
extern val rewriteBase : no_spaces -> [Location]
extern type proxy_port
extern val proxyRewrite :
 regexp -> no_spaces -> proxy_reverse_target -> [mod_rewrite_flag] -> [^Vhost]
extern type mod_rewrite_trace_level
extern val rewriteLogLevel : mod_rewrite_trace_level -> [Vhost]

extern type redirect_code

An HTTP code to return as part of a redirection

extern val temp : redirect_code

extern val permanent : redirect_code

extern val seeother : redirect_code

extern val redir300 : redirect_code

extern val redir301 : redirect_code

extern val redir302 : redirect_code

extern val redir303 : redirect_code

extern val redir304 : redirect_code

extern val redir305 : redirect_code

extern val redir307 : redirect_code

extern val notfound : redirect_code

Return 404 Not Found

extern type rewrite_arg

Some mod_rewrite flags take arguments. This type stands for values that may validly be given for one of those arguments, which excludes commas and some other characters.

extern type mod_rewrite_flag

See the Apache documentation for information on what these flags mean.

extern val redirect : mod_rewrite_flag

extern val forbidden : mod_rewrite_flag

extern val gone : mod_rewrite_flag

extern val last : mod_rewrite_flag

extern val chain : mod_rewrite_flag

extern val nosubreq : mod_rewrite_flag

extern val nocase : mod_rewrite_flag

extern val qsappend : mod_rewrite_flag

extern val noescape : mod_rewrite_flag

extern val passthrough : mod_rewrite_flag

extern val mimeType : rewrite_arg -> mod_rewrite_flag

extern val redirectWith : redirect_code -> mod_rewrite_flag

extern val skip : int -> mod_rewrite_flag

extern val env : rewrite_arg -> rewrite_arg -> mod_rewrite_flag

extern type mod_rewrite_cond_flag

See the Apache documentation for information on what these flags mean.

extern val cond_nocase : mod_rewrite_cond_flag

extern val ornext : mod_rewrite_cond_flag

extern val rewriteRule : regexp -> no_spaces -> [mod_rewrite_flag] -> [^Vhost]

See Apache documentation for RewriteRule.

extern val rewriteCond :
 
no_spaces -> regexp -> [mod_rewrite_cond_flag] -> [^Vhost]

See Apache documentation for RewriteCond.

extern val rewriteBase : no_spaces -> [Location]

See Apache documentation for RewriteBase.

extern type proxy_port

A port number above 1024

extern val proxyRewrite :
 
regexp -> no_spaces -> proxy_reverse_target -> [mod_rewrite_flag] -> [^Vhost]

Safe wrapper around mod_rewrite proxy flag. All requests matching the regular expression in the first argument are proxied to the host specified in the third argument, appending a new URI by substituting variables in the second argument as per Apache mod_rewrite. Additional rewrite flags may be specified.

extern type mod_rewrite_trace_level

A mod_rewrite log level, between 0 and 8. 2 or 3 are useful for debugging, higher will slow down apache considerably. 0 disables rewrite logging.

extern val rewriteLogLevel : mod_rewrite_trace_level -> [Vhost]

See documentation for mod_rewrite log levels.