title: Redirect /about to /about.php in .htaccess
body: <p>First of all, I know there are plenty of similar questions about this around, but</p>
  
  <ol>
  <li>None of them seem to work for me</li>
  <li>None of them actually address exactly what I want</li>
  </ol>
  
  <p>What I want is, as the title suggests, to redirect URLs without the <code>.php</code> extension to the actual <code>.php</code> file - changing the URL if possible (which I presume is just handled by [R=301]). The latest thing I tried was this:</p>
  
  <pre><code>RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule ^(.+)$ $1.php [R=301]
  </code></pre>
  
  <p>That doesn't work. I can still cant access <code>/about.php</code> with <code>/about</code>. (.htaccess rules themselves are working fine though)</p>
  
  <p>I understand RegEx fine, but htaccess rules just mess with my head =[</p>
  
  <p>So what should I do?</p>
  
  <hr>
  
  <h3>Now I know what you're thinking</h3>
  
  <p>One of you will say this: <em>"Why do you want to do this? Just get rid of extensions completely and access your pages via <code>/about</code> or <code>/about/</code> with a trailing slash."</em></p>
  
  <p>I'd like to do that, it looks quite good. Problem is SEO - from which I assume my page ranks will get annihilated because all of a sudden they're on different URLs. So before you suggest that, suggest how I'd keep my page ranks first.</p>
  
  <p>What I'm actually doing is essentially URL shortening for a poster - it's a lot easier for people to remember <code>mywebsite.com/about</code> than <code>mywebsite.com/about.php</code>.</p>