Entfernen .php-Datei mit der Endung .htaccess-Datei
Ich will www.example.com/about.php nur www.example.com/about
Erstellte ich eine .htaccess-Datei und platziert es in das Stammverzeichnis meines Servers.
Ich bin mit linux shared hosting. PHP version 5.2
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Es scheint, dass dieser code sollte funktionieren, aber für einige Grund es nicht. Ich bekomme einen 404 Fehler, wenn ich versuche zu navigieren, um eine Seite ohne die .php-Erweiterung.
Hier ist mein markup zu:
<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-->
Können Sie sehen, ich habe versucht mit der php-Erweiterung in den link und auch versucht, ohne. Die links mit dem php-Erweiterung, gehen Sie zu der Seite, aber nicht entfernen Sie die Erweiterung.
Machte ich einen test, um zu sehen, ob module_rewrite aktiviert wurde, indem Sie in einigen Müll und die Rückkehr zu einem 500 error.
- wenn Sie Ihre shared-hosting ist, als zu versuchen in diesem Artikel, um es getan. kvcodes.com/2016/02/godaddy-remove-php-extension
- Ich verallgemeinert diese Frage, da es scheint nicht zu spezifisch sein, um godaddy oder php.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie diesen code zum ausblenden/entfernen
.php
Erweiterung:.php
Erweiterungen aufgehört zu arbeiten. Ich habe keine Ahnung, warum, aber dein code hat komplett das problem gelöst.So, nach einem langen Kampf mit google habe ich endlich dieses herausgefunden.
Dies funktioniert mit Godaddy shared hosting.
Es entfernt die php-Datei-Erweiterungen, so http://yoursite.com/about.php wird http://yoursite.com/about
(entfernen Sie die Kommentare vor dem hochladen auf server)
/not-found
Datei zu/not-found.php
selbst wenn, der php-Datei nicht im system vorhanden sind.Ich hatte dieses problem auch, aber ich fand, dass das schien zu beheben, die GoDaddy .htaccess problem.
Eingefügt, über alles, was in meinem .htaccess-Datei hat bei mir...
Rewrite-Regel nicht korrekt, es ist der falsche Weg-Runde. Versuchen Sie dies: