title: .htaccess - silently rewrite/redirect everything to internal subfolder
body: <p>Let's say I have this<code>www.example.com</code> site structure:</p>
  
  <pre><code>/srv/http/
  /srv/http/site/index.php
  /srv/http/site/stuff.php
  </code></pre>
  
  <p>I want the following rewrites/redirects to happen:</p>
  
  <p><code>www.example.com/index.php</code> -> redirects to -> <code>www.example.com/site/index.php</code> -> but the user sees -> <code>www.example.com/index.php</code></p>
  
  <p><code>www.example.com/stuff.php</code> -> redirects to -> <code>www.example.com/site/stuff.php</code> -> but the user sees -> <code>www.example.com/stuff.php</code></p>
  
  <p>In general, everything after <code>www.example.com/</code> redirects to <code>www.example.com/site/</code>. But the user sees the original URL in the browser.</p>
  
  <p>I've looked around on the internet but haven't managed to figure out what to use in this particular situation.</p>
  
  <p>I tried rewriting everything:</p>
  
  <pre><code>RewriteEngine On
  RewriteRule ^$ /site [L]
  </code></pre>
  
  <p>but <code>index.php</code> disappears and <code>www.example.com/site/</code> is shown to the user.</p>
  
  <p>How can I use <code>.htaccess</code> to solve this problem?</p>