I'm running apache (2.2.14) with a reverse proxy setup using mod_rewrite. A second apache using mod_php has any PHP proxied.

The issue I have is when a URI for /~user expands the DirectoryIndex to match index.shtml, the mod_rewrite rule hands off the expanded /~user/index.shtml to apache via a subrequest pass through and apache fails to execute the server side includes portion of the index.shtml

Here is a mod_rewrite debug logs of showing the expansion of URI /~mroch containing index.shtml:

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule wrote:'passthrough|PT' (pass through to next handler)

This flag forces the rewrite engine to set the uri field of the internal request_rec structure to the value of the filename field. This flag is just a hack to enable post-processing of the output of RewriteRule directives, using Alias, ScriptAlias, Redirect, and other directives from various URI-to-filename translators. For example, to rewrite /abc to /def using mod_rewrite, and then /def to /ghi using mod_alias:

If you omit the PT flag, mod_rewrite will rewrite uri=/abc/... to filename=/def/... as a full API-compliant URI-to-filename translator should do. Then mod_alias will try to do a URI-to-filename transition, which will fail.

Note: You must use this flag if you want to mix directives from different modules which allow URL-to-filename translators. The typical example is the use of mod_alias and mod_rewrite.

The PT flag implies the L flag: rewriting will be stopped in order to pass the request to the next phase of processing.