summaryrefslogtreecommitdiff
path: root/doc/tips/redirections_for_usedirs.mdwn
blob: 588b9f4b5438aece4b40ac9c15a991597967215c (plain)

Want to turn on the usedirs setting on an existing wiki without breaking all the links into it?

#Apache and RewriteEngine

Here's a way to do it for Apache, using the RewriteEngine. This example is for a wiki at the top of a web site, but can be adapted to other situations.

# pages
RewriteCond $1 !^/~          # these pages
RewriteCond $1 !^/doc/       # are not part of
RewriteCond $1 !^/ajaxterm   # the wiki, so
RewriteCond $1 !^/cgi-bin/   # don't rewrite them
RewriteCond $1 !.*/index$
RewriteRule (.+).html$ $1/ [R]

# rss feeds
RewriteCond $1 !^/~
RewriteCond $1 !.*/index$
RewriteRule (.+).rss$ $1/index.rss

# atom feeds
RewriteCond $1 !^/~
RewriteCond $1 !.*/index$
RewriteRule (.+).atom$ $1/index.atom

#lighttpd and mod_redirect

The following example is exactly the same thing written for lighttpd by using mod_redirect:

$HTTP["url"] !~ "^/(~|doc/|ajaxterm|cgi-bin/)" {
  $HTTP["url"] !~ "^/(.*/index\.(html|rss|atom))" {
    url.redirect = ( 
      "(.*)\.html$" => "$1/",
      "(.*)\.(atom|rss)$" => "$1/index.$2"     
    )
  } 
}