Here's my .htaccess now

rewriteengine on
rewritecond %{HTTP_HOST} ^www.example.com$ [OR]
rewritecond %{HTTP_HOST} ^example.com$
rewriterule ^index.php/? "http\:\/\/example\.com\/" [R=301,L] #4a397bb852bc9

Which transmits all demands in the root directory to index.php What I have to do is send all demands from www.example.com/site2/ to www.example.com/site2/index.php

My knowledge of regex has always stopped lacking these curious rules and conds

Thanks, Joe

The rule you named redirects any request, that’s URL path begins with index.php then an optional slash and that’s host title is either www.example.com or example.com, using the status code 301 to http://example.com/.

But when you need to rewrite demands in one directory to a different, do this rule:

RewriteRule ^folder-1/?([^/].*)?$ folder-2/$1 [L]


Edit   In reaction to your comment:

RewriteCond $0 !=site2/index.php
RewriteRule ^site2/.* site/index.php [L]