[pmwiki-users] Handling canonical URLs (ie don't allow variable case in urls)
Peter Bowers
pbowers at pobox.com
Mon Feb 8 14:31:10 CST 2010
On Mon, Feb 8, 2010 at 8:21 PM, Ed W <lists at wildgooses.com> wrote:
> Can someone please give me some suggestions on how to hook into PmWiki
> to make this happen? Actually, more to the point I'm unsure where the
> case correction is actually happening (eg see URL examples above) -
> given that I'm on a unix based system with case sensitive URLs, it's not
> clear why it's finding files with different cased names?
I believe it's happening in MakePageName().
Note this set of lines:
SDV($MakePageNamePatterns, array(
"/'/" => '', # strip single-quotes
"/[^$PageNameChars]+/" => ' ', # convert everything else to space
'/((^|[^-\\w])\\w)/e' => "strtoupper('$1')",
'/ /' => ''));
...
$group = preg_replace(array_keys($MakePageNamePatterns),
array_values($MakePageNamePatterns), $m[0]);
$name = preg_replace(array_keys($MakePageNamePatterns),
array_values($MakePageNamePatterns), $m[1]);
Note particularly the 3rd element in $MakePageNamePatterns.
You will note that it is not completely case-insensitive; it is only
that pmwiki always capitalizes the 1st char of the group and of the
page. After the 1st char it is case-sensitive.
-Peter
More information about the pmwiki-users
mailing list