Nope, it seems to just pass through into the regular index.php. Actually, the revamped last rule caused an infinite loop of reloads until I moved the slash from the rule to the result.
Here's my complete virtualhost for reference:
<VirtualHost 192.168.1.1>
Servername
www.domain.com
DocumentRoot /virtual/domain
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
ErrorDocument 500 /500.html
ErrorDocument 404 /404.html
LogLevel warn
Alias /content /virtual/images
Alias /georef /virtual/georef
<Directory "/virtual/domain">
Options +FollowSymLinks
AllowOverride None
RewriteEngine On
# Prefer
www.domain.com to domain.com
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$
http://www.domain.com$1 [R=301,L]
# Redirect for US site
RewriteCond %{HTTP_HOST} ^us\.domain\.com$ [NC]
RewriteRule ^/$ /index.php/us [QSA,L]
# Captures wierd legacy domain names
RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$
http://www.domain.com$1 [R=301,L]
# Legacy company access
RewriteCond %{HTTP_HOST} !^(www|m[0-9]+)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteRule ^(/.*)$
http://www.domain.com/companies$1 [R=301,L]
# Needed for embeddings
RewriteRule ^(.*).iframe$
http://www.domain.com/embed/$1 [L]
# Route french searches to the french site
RewriteRule ^/trouvez/(.*)$
http://www.domain.com/fr/trouvez/$1 [R=301,L]
# Redirect /fr/find/ to /fr/trouvez
RewriteRule ^/fr/find/(.*)$
http://www.domain.com/fr/trouvez/$1 [R=301,L]
# Redirect /find/XXXXXX/ to /find/XXXXXX
RewriteRule ^/find/(.*)/$
http://www.domain.com/find/$1 [R=301,L]
# Redirect
http://www.domain.com/fr to
http://www.domain.com/fr/
RewriteRule ^/fr$
http://www.domain.com/fr/ [R=301,L]
# Redirct
http://www.domain.com/?source=olddomain to
http://www.domain.com/
RewriteCond %{query_string} &?source=olddomain.*
RewriteRule ^/$
http://www.domain.com/ [R=301,L]
# Redirect
http://www.domain.com/?lang=fr and
http://www.domain.com/?language=fr to
http://www.domain.com/fr/
RewriteCond %{query_string} &?lang=fr.* [OR]
RewriteCond %{query_string} &?language=fr.*
RewriteRule ^/$
http://www.domain.com/fr/ [R=301,L]
# Redirect
http://www.domain.com/index.php?lang=fr and
http://www.domain.com/index.php?language=fr to
http://www.domain.com/fr/
RewriteCond %{query_string} &?lang=fr.* [OR]
RewriteCond %{query_string} &?language=fr.*
RewriteRule ^/index.php$
http://www.domain.com/fr/ [R=301,L]
# Redirect
http://www.domain.com/index.php?lang=en and
http://www.domain.com/index.php?language=en to
http://www.domain.com/
RewriteCond %{query_string} &?lang=en.* [OR]
RewriteCond %{query_string} &?language=en.*
RewriteRule ^/index.php$
http://www.domain.com/ [R=301,L]
# Checks to see if the user is attempting to access a valid file,
# such as an image or css document, if this isn't true it sends the
# request to index.php
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</directory>
# Compress all data out, except images
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
</VirtualHost>
Thanks for the help, by the way. Why this doesn't work is driving me crazy.