2017-03-07 9 views
0

Ich habe PHP-Projekt auf meinem localhost, die einen XAMPP-Stack läuft..htaccess funktioniert nicht in xamp

Ich möchte die .php Erweiterung von allen Benutzer-zugewandten URLs entfernen.

Ich habe versucht, mit Hilfe von Apache mod_rewrite in einer .htaccess Datei:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteRule ^locations(/.*)?$ poet.php [L,NC] 
</IfModule> 

Aber es ist "nicht funktioniert".

+1

Mögliche Duplikate von [Remove .php Erweiterung mit. Htaccess] (http://StackOverflow.com/Questions/4026021/Remove-PHP-Extension-with-Htaccess) –

+0

@Abhishek Ich habe diesen Beitrag gesehen, wenn ich google aber dieser Schritt nicht funktioniert so schließlich entschied ich mich Frage –

+0

RewriteEngine auf RewriteRule^(. +) \. php $/$ 1 [R, L] RewriteCond% {REQUEST_FILENAME} .php -f RewriteRule fragen^(. * ?) /? $ /$1.php [NC, END] –

Antwort

0

diesen Code in Ihre .htaccess-Datei

RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [NC,L] 
setzen

Hinweis: Vergessen Sie nicht, die Neuschreibung zu ändern Basispfad, wenn sich Ihr Projektordner nicht im Root-Verzeichnis befindet.

+0

nicht vergessen, RewriteBase Pfad zu ändern, wenn Ihr Projektordner nicht auf Root ist. Ich kann das nicht verstehen. es ist meine erste htaccess –

+0

es bedeutet, wenn Ihr Projekt auf Root von htdocs Ordner ist dann verwenden Sie den oben genannten Code, wie es ist, aber wenn Ihr Projekt nicht auf der Wurzel von htdocs ist dann bitte den Pfad bis zu Ihrem Projektordner angeben. Angenommen, Ihr Projekt befindet sich innerhalb von htdocs/projects/demoproject1 ...... dann wird der RewriteBase Pfad wie folgt aussehen. RewriteBase/projects/demoproject1/ –

+0

Danke dude. Wie kann ich 404 mit dieser Regel einstellen? –

0

diesen Code Lösung Ihrer Probleme Versuchen

 <IfModule mod_rewrite.c> 
      RewriteEngine On 
      RewriteCond %{REQUEST_FILENAME}.php -f 
      RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 
    </IfModule> 
+0

es funktioniert nicht. –

+0

Ich auch aktivieren AllowOverride Alle von meinem http.conf –

+0

@VivekMishra Code erneut versuchen –

0
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L] 
0

Versuchen Sie in Ihrem Projektverzeichnis unter Regel

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [L]