Ho un sito in cui tutte le pagine sono script php, quindi gli URL terminano con .php.Uso di mod_rewrite per nascondere .php dalla fine degli URL
ho aggiunto quanto segue in un file .htaccess, e ora posso accedere ai file .php senza l'estensione .php:
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
Fin qui tutto bene. Ma ora voglio aggiungere un reindirizzamento su tutti i file .php in modo che tutti i vecchi link al di fuori del mio controllo vengano reindirizzati alla nuova versione dell'URL.
Ho provato questo:
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
ma che sembra per inviare un redirect anche per gli URL che non terminano in .php, in modo da ottenere bloccato in un ciclo infinito. Qualsiasi altra combinazione che provo sembra non corrispondere a nessuna richiesta (e lasciarmi a page.php) oa tutte le richieste (e farmi bloccare in un loop).
Controlla http://stackoverflow.com/questions/3024631/htaccess-remove-php-extension-index-php-and-add-trailing-slash/ – TheDeadMedic