Удаление расширения файла.php с файлом.htaccess

Я хочу, чтобы www.example.com/about.php был просто www.example.com/about

Я создал файл.htaccess и поместил его в корень моего сервера. Я использую виртуальный хостинг Linux. Версия PHP 5.2

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

Вроде бы этот код должен работать правильно, но почему-то не работает. Я получаю сообщение об ошибке 404, когда пытаюсь перейти на страницу без расширения.php.

Вот моя разметка.:

<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--> 

Вы можете видеть, что я пытался использовать расширение php в ссылке, а также пробовал без него. Ссылки с расширением php ведут на страницу, но не удаляют расширение.

Я проверил, включена ли перезапись модуля _, вставив немного мусора и вернув ошибку 500.

7
задан anubhava 25 May 2017 в 21:03
поделиться