Usuwanie rozszerzenia pliku .php z plikiem .htaccess
Chcę, aby www.example.com/about.php był po prostu www.example.com/about
Stworzyłem plik .htaccess i umieściłem go w katalogu głównym mojego serwera. Używam hostingu współdzielonego linux. Wersja PHP 5.2
<code>RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php </code>
Wygląda na to, że ten kod powinien działać poprawnie, ale z jakiegoś powodu nie. Otrzymuję błąd 404, gdy próbuję przejść do strony bez rozszerzenia .php.
Oto moje znaczniki:
<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>
Możesz zobaczyć, że próbowałem użyć rozszerzenia php w linku, a także próbowałem bez. Linki z rozszerzeniem php przechodzą na stronę, ale nie usuwają rozszerzenia.
Zrobiłem test, aby sprawdzić, czy moduł_rewrite został włączony, wprowadzając trochę śmieci i zwracając błąd 500.