# Apache configuration for COCANWIKI.
# $Id: cocanwiki.conf,v 1.25 2006/12/06 09:46:54 rich Exp $
# Uncomment the following lines if necessary. You will probably need
# to adjust the paths to reflect where cocanwiki is really installed.
# DocumentRoot /usr/share/cocanwiki/html
# CamlLoad /usr/share/cocanwiki/html/_bin/cocanwiki.cma
SetHandler ocaml-bytecode
CamlHandler Registry.handler
Options ExecCGI
Allow from all
# The admin subdirectory contains sensitive scripts, and should
# be protected by ACLs and/or passwords. This is just an example:
Deny from all
Allow from 127.0.0.1 192.168.2.249
ExpiresActive On
ExpiresDefault "now plus 24 hours"
ExpiresActive On
ExpiresDefault "now plus 24 hours"
ExpiresActive On
ExpiresDefault "now plus 24 hours"
ExpiresActive On
ExpiresDefault "now plus 24 hours"
# Error documents.
ErrorDocument 500 /_bin/crash.cmo
# Start of the rewrite rules.
RewriteEngine on
# The favicon.ico and robots.txt files need special treatment.
RewriteRule ^/favicon.ico /favicon.ico [PT,L]
RewriteRule ^/robots.txt /robots.txt [PT,L]
# Global scripts.
RewriteRule ^/_admin$ /_bin/admin/admin.cmo [PT,L,QSA]
RewriteRule ^/_contact$ /_bin/contact.cmo [PT,L,QSA]
RewriteRule ^/_email_change$ /_bin/email_change.cmo [PT,L,QSA]
RewriteRule ^/_files$ /_bin/files.cmo [PT,L,QSA]
RewriteRule ^/_global.css$ /_bin/hoststyle.cmo [PT,L,QSA]
RewriteRule ^/_ie6_fixes.css$ /_bin/hoststyle.cmo?css=ie6_fixes [PT,L,QSA]
RewriteRule ^/_ie7_fixes.css$ /_bin/hoststyle.cmo?css=ie7_fixes [PT,L,QSA]
RewriteRule ^/_images$ /_bin/images.cmo [PT,L,QSA]
RewriteRule ^/_invite$ /_bin/invite_user_confirm_form.cmo [PT,L,QSA]
RewriteRule ^/_links$ /_bin/links.cmo [PT,L,QSA]
RewriteRule ^/_login$ /_bin/login_form.cmo [PT,L,QSA]
RewriteRule ^/_logout$ /_bin/logout.cmo [PT,L,QSA]
RewriteRule ^/_mailing_list.csv$ /_bin/mailing_list_view.cmo?csv=1 [PT,L]
RewriteRule ^/_ml_confirm$ /_bin/mailing_list_confirm.cmo [PT,L,QSA]
RewriteRule ^/_ml_unsub$ /_bin/mailing_list_unsubscribe.cmo [PT,L,QSA]
RewriteRule ^/_pe_confirm$ /_bin/page_email_confirm.cmo [PT,L,QSA]
RewriteRule ^/_pe_unsub$ /_bin/page_email_unsubscribe.cmo [PT,L,QSA]
RewriteRule ^/_recent$ /_bin/recent.cmo [PT,L,QSA]
RewriteRule ^/_recent.rss$ /_bin/recent_rss.cmo [PT,L,QSA]
RewriteRule ^/_search$ /_bin/search.cmo [PT,L,QSA]
RewriteRule ^/_sitemap$ /_bin/sitemap.cmo [PT,L,QSA]
RewriteRule ^/_sitemap.rss$ /_bin/sitemap_rss.cmo [PT,L,QSA]
RewriteRule ^/sitemap.xml$ /_bin/sitemap_xml.cmo [PT,L,QSA]
RewriteRule ^/_userprefs$ /_bin/user_prefs_form.cmo [PT,L,QSA]
RewriteRule ^/_users$ /_bin/users.cmo [PT,L,QSA]
# Image and file downloads.
RewriteRule ^/_file/(.*)$ /_bin/file.cmo?name=$1 [PT,L,QSA]
RewriteRule ^/_image/(.*)$ /_bin/image.cmo?image=$1 [PT,L,QSA]
# Old _dist subdirectory no longer exists.
RewriteRule ^/_dist/ / [R]
# Page-related scripts.
RewriteRule ^/([^_].*)/diff$ /_bin/diff.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/edit$ /_bin/edit.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/editcss$ /_bin/edit_page_css_form.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/history$ /_bin/history.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/history.rss$ /_bin/history_rss.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/index.rss$ /_bin/page_rss.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/links$ /_bin/links.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/rename$ /_bin/rename_page_form.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/source$ /_bin/source.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/stats$ /_bin/stats.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*)/styles.css$ /_bin/pagestyle.cmo?page=$1 [PT,L,QSA]
# Serve pages.
RewriteRule ^/$ /_bin/page.cmo?page=index [PT,L,QSA]
#non-greedy matches don't parse - why?
#RewriteRule ^/([^_].*?)/?$ /_bin/page.cmo?page=$1 [PT,L,QSA]
RewriteRule ^/([^_].*[^/])/?$ /_bin/page.cmo?page=$1 [PT,L,QSA]