Приветствую!
Я пытаюсь заменить расширения .php на .html
До сих пор я получил:
RewriteRule ^(.*)\.html $1.php
… он отлично работает, когда /site/page.html
url как /site/page.html
(а page.html
физически не существует, но page.php
делает).
Однако то, что я хотел бы иметь, это когда /site/page.php
введен, зритель видит только /site/page.html
в местоположении браузера.
Это выполнимо или мне нужно настроить явные переадресации для каждой страницы? 🙁
Заранее спасибо.
ps: dev среда, которую я использую, – XAMPP на os x, если она имеет какое-либо значение
RewriteRule ^(.*)\.php $1.html [R=301,L] RewriteRule ^(.*)\.html $1.php
редактировать после вытаскивания белого кролика из шляпы
RewriteEngine on RewriteBase / RewriteCond %{THE_REQUEST} (.*)\.php RewriteRule ^(.*)\.php $1.html [R=301,L] RewriteCond %{THE_REQUEST} (.*)\.html RewriteRule ^(.*)\.html $1.php [L]
RewriteEngine on RewriteBase / RewriteCond %{THE_REQUEST} (.*)\.php RewriteRule ^(.*)\.php $1.html [R=301,L] RewriteCond %{THE_REQUEST} (.*)\.html RewriteRule ^(.*)\.html $1.php [L]
Попробуйте:
RewriteEngine on RewriteBase / RewriteRule ^(.*)\.html$ $1.php [L]
Я думаю, что это очень просто
AddType application/x-httpd-php .html
он просто обрабатывает каждый .html-файл как обычный .php
если вы хотите его только для текущего каталога
<Files *.html> ForceType application/x-httpd-php </Files>