[pmwiki-users] CleanURL

DaveG pmwiki at solidgone.com
Sun Apr 1 09:29:24 CDT 2007


Thanks both for the descriptions, that clears things up. It didn't occur 
to me that group names must start with some kind of capital character.

It's worth noting that this pattern would then fail to extract the 
group/page if any other part of the URL contained a capital (i.e., if PM 
wiki was installed under a directory "PMWiki" for instance).

  ~ ~ Dave

Patrick R. Michaud wrote:
> On Sat, Mar 31, 2007 at 06:24:02PM -0400, DaveG wrote:
>> On this page http://pmwiki.com/wiki/Cookbook/CleanUrls, the pattern 
>> ([^/a-z].*) is used throughout. Can someone describe what this is doing?
>>
>> The way I read it is to match anything not containing a forward-slash or 
>> letters a-z. But in the context in which it's used, my interpretation 
>> makes no sense. Somehow it should translate to match group/pagename, but 
>>   it's not clear why.
>>
>> Not, the pattern does work, I just can't fathom why.
> 
> The pattern matches any path that doesn't begin with a letter "a-z"
> or slash.  It allows us to rewrite the following url
> 
>      http://www.example.com/Group/PageName
> 
> while allowing other urls to fall-through to being handled by Apache
> 
>     http://www.example.com/pub/skins/pmwiki/pmwiki.css
> 
> Without this sort of restriction, _all_ urls would end up being
> rewritten and passed to PmWiki, so the above avoids rewriting
> paths that begin with lowercase ASCII letters.
> 
> Early versions of CleanUrls tried using [A-Z].* to match pagenames
> beginning with uppercase letters.  But that pattern misses the
> non-ASCII uppercase letters, so the pattern was switched to instead
> match everything except paths beginning with a-z or / .
> 
> Petko's solution of matching [A-Z0-9\x80-\xff] is another valid
> approach that has roughly the same effect.
> 
> Hope this helps,
> 
> Pm
> 



More information about the pmwiki-users mailing list