Ich habe eine Website, wo alle Seiten PHP-Skripte sind, so dass die URLs .php enden.Mit mod_rewrite verstecken .php vom Ende der URLs
Ich habe folgendes auf eine .htaccess-Datei hinzugefügt, und ich kann jetzt die .php Dateien ohne die Erweiterung .php zugreifen:
RewriteEngine On # Turn on rewriting
RewriteCond %{REQUEST_FILENAME}.php -f # If the requested file with .php on the end exists
RewriteRule ^(.*)$ $1.php # serve the PHP file
So weit so gut. Aber jetzt möchte ich eine Umleitung für alle .php-Dateien hinzufügen, so dass alle alten Links außerhalb meiner Kontrolle auf die neue Version der URL umgeleitet werden.
Ich habe dies versucht:
RewriteEngine On # Turn on rewriting
RewriteCond %{REQUEST_URI} .*\.php
RewriteRule ^(.*)\.php$ http://example.com/$1 [R=permanent,L]
RewriteCond %{REQUEST_FILENAME}.php -f # If the requested file with .php on the end exists
RewriteRule ^(.*)$ $1.php [L] # serve the PHP file
aber das scheint eine Umleitung auch für URLs zu senden, die in .php nicht am Ende, so dass ich in einer Endlosschleife stecken. Jede andere Kombination, die ich versuche, scheint keine Anfragen zu erfüllen (und lassen Sie mich bei page.php) oder alle Anfragen (und mich in einer Schleife stecken).
Check out http://stackoverflow.com/questions/3024631/htaccess-remove-php-extension-index-php-and-add-trailing-slash/ – TheDeadMedic