Eliminando la extensión de archivo .php con el archivo .htaccess

Quiero que www.example.com/about.php sea solo www.example.com/about

Creé un archivo .htaccess y lo coloqué en la raíz de mi servidor. Estoy usando linux hosting compartido. PHP versión 5.2

<code>RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
</code>

Parece que este código debería funcionar correctamente, pero por alguna razón no lo hace. Recibo un error 404 cuando intento navegar a una página sin la extensión .php.

Aquí está mi marca también:

<code><nav>
        <div class="container">
            <ul>
                <li><a href="index.php" <?php if (strpos($_SERVER['PHP_SELF'], 'index.php')) echo 'class="current-nav"';?>>home</a></li>
                <li><a href="about.php">about</a></li>
                <li><a href="services">our services</a></li>
                <li><a href="portfolio" <?php if (strpos($_SERVER['PHP_SELF'], 'portfolio.php')) echo 'class="current-nav"';?>>portfolio</a></li>
                <li><a href="testimonials" <?php if (strpos($_SERVER['PHP_SELF'], 'testimonials.php')) echo 'class="current-nav"';?>>testimonials</a></li>
                <!--<li><a href="#">client area</a></li>-->
                <li><a href="contact" <?php if (strpos($_SERVER['PHP_SELF'], 'contact.php')) echo 'class="current-nav"';?>>Contact</a></li>
                <li><a href="order" <?php if (strpos($_SERVER['PHP_SELF'], 'order.php')) echo 'class="current-nav"';?>><strong>Free Quote</strong></a></li>
            </ul>
        </div>
    </nav><!--/navigation--> 
</code>

Se puede ver que intenté usar la extensión php en el enlace y también lo intenté sin. Los enlaces con la extensión php van a la página, pero no eliminan la extensión.

Hice una prueba para ver si module_rewrite estaba habilitado poniendo algo de basura y devolviendo un error 500.

Respuestas a la pregunta(5)

Su respuesta a la pregunta