aboutsummaryrefslogtreecommitdiff
path: root/doc/tips/redirections_for_usedirs.mdwn
blob: 29a76b24c2b40449012f2b67a7121d68391a435c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[[!meta date="2007-04-11 01:17:05 +0000"]]

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"     
        )
      } 
    }