Here’s something that might work for you. I’ve just tried it out on my local dev server (Win32/apache) but I haven’t tested it extensively...
A Warning! You will have to make changes to the actual apache server configuration. The alias directive does not work from .htaccess files.
I created an extra php file (index2.php) in the same directory as index.php. for instance /home/httpd/html/index2.php. All this script does is to create the $_REQUEST[’q’] variable modx relies upon for friendly urls and then call the original index.php
<?php
//create 'q' variable
$_REQUEST['q']=$_SERVER['REQUEST_URI'];
//get on with business as usual
include("index.php");
?>
Then in the server configuration add these lines. If you have several virtual servers you can place this within the <VirtualHost> blocks.
AliasMatch ^/manager/(.*) /home/httpd/html/manager/$1
AliasMatch ^/.*\.htm.* /home/httpd/html/index2.php
Note the ’htm’ in the regular expression. You schould replace this with whatever your friendly url suffix is set to! And offcourse adjust the paths to your particular situation. The first line sets an alias to any files in the manager directory to itself. Once an ailas directive is matched it will not test any further alias directives so this excludes anything from the manager directory. The second line will match any documents with an ’htm’ extension (or whatever extension/ suffix you have replaced it with) and ’alias’ to index2.php.
Lastly you will have to turn off the rewrite engine in .htaccess or at least comment out the below RewriteRule.
#RewriteEngine On
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
You’ll have to restart apache and off you go... friendly urls without url rewriting,... hopefully. As I said I have not extensively tested this but as far as I can see it should work.