2016-06-10 7 views
1

Ich habe eine Rewrite-Regel angewendet, um meine PHP-Dateien ohne die .php am Ende der Datei zu zeigen. Dies ist, was ich habe:.htaccess vermeiden Sie den Zugriff auf Dateien mit .php nach dem Neuschreiben

##Quitar extensión .php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Aber das Problem, das ich habe, ist, dass ich auf diese Datei auf zwei Arten zugreifen kann. Mit oder ohne .php. Zum Beispiel: mywebsite.com/file.php und mywebsite.com/file beide funktionieren, aber ich möchte nur die zweite, so dass ich etwas zu meiner .htaccess Datei umleiten muss, um mywebsite.com/file.php zu mywebsite.com/file umleiten oder einen 404-Fehler anzeigen. Aber ich denke, die erste Option ist besser.

Kann ich meinen .htaccess Code mit meinen Wünschen kombinieren? Und wenn ja, was muss hinzugefügt werden?

Antwort

1

können Sie diese Regel verwenden Endung .php

RewriteEngine on 
#1)externally redirect from "/file.php" to "/file" 
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC] 
RewriteRule^/%1 [L,R] 
#2)internally map "/file" to "/file.php" 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
+1

funktioniert perfekt zu entfernen! Danke :) – danibg

+0

Ich habe ein Problem dabei gefunden. Jeder Ajax-Ruf, den ich hatte, funktioniert jetzt nicht, da ich auf sie als ''ajaxexample.php' 'zugegriffen habe. Hat es eine Lösung? – danibg

Verwandte Themen