If I have an alias with upper case letters, say "myNewPage", it will return 404.
After looking into the core code on line 1023 document.parser.class.inc.php
$this->documentIdentifier = $this->documentListing[$this->documentIdentifier];
This is where conversion from alias to ID happened. However, $this->documentListing is using original "myNewPage" as the key while documentIdentifier at this point is all lowercased - mynewpage. So it coundn’t find a match and return 404. Since $this->documentListing["my
New
Page"] is not $this->documentListing["mynewpage"].
I try to debug further and notice that $_REQUEST[’q’] (which is used to generate $this->documentIdentifier) is already in lowercase early on. $_REQUEST[’q’] was passed to index.php via .htaccess. So do you have any clue why .htaccess would pass the lowercased version instead of the original version?
Using Apache/1.3.37 (Win32) PHP/5.1.6 and original .htaccess supply in installation files.
# Rewrite directives here for SEF (Search Engine Friendly) URLs
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# If your MODx installation is in a subdirectory, change the following line to match the physical
# path to the "root" of the site as follows:
# RewriteRule ^(.*)$ /path/to/subdirectory/index.php?q=$1 [L,QSA]
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Update:
I tried it on my Unix hosting account and it works very well. So I think it is either my system problem or Windows platform problem.