У меня есть сайт, где все страницы являются php-скриптами, поэтому URL-адреса заканчиваются на .php.
Я добавил следующее в файл .htaccess, и теперь я могу получить доступ к .phpфайлы без расширения .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
Пока все хорошо.Но теперь я хочу добавить перенаправление для всех файлов .php, чтобы любые старые ссылки вне моего контроля перенаправлялись на новую версию URL.
Я пробовал это:
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
но это, кажется, отправляет перенаправление даже для URL, которые не заканчиваются на .php, поэтому я застреваю в бесконечном цикле.Любая другая комбинация, которую я пробую, кажется, не соответствует ни одному запросу (и оставляет меня в page.php), ни всем запросам (и приводит меня в тупик).