Перенаправить все расширения .html на .php

Я хочу обновить все страницы на веб-сайте, чтобы использовать include для нижнего колонтитула и заголовка. Поэтому мне нужно изменить много .html страниц на .php.

Итак, я ищу способ перенаправить все страницы, заканчивающиеся на .html, на тот же URL, но заканчивающийся на .php.

Ответы

Ответ 1

RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]

Если вы хотите, чтобы это было сделано как перенаправление, а не только переписывание, измените [L] на [L,R]

Ответ 2

Вы можете сделать более простой подход и обработать все ваши html файлы в виде файлов php, добавив следующую строку в ваш .htaccess

AddHandler application/x-httpd-php .php .html

Ответ 3

mod_rewrite на помощь!

RewriteEngine On
RewriteRule ^(.+)\.html$ $1.php

Ответ 4

В файле apache httpd.conf вы можете добавить

AddType application/x-httpd-php .html

чтобы файлы .html проходили через парсер php до того, как они будут обслуживаться пользователю. Вы также можете добавить эту директиву в свой файл .htaccess. Второй способ может не работать в зависимости от настройки вашего хоста.

Ответ 5

Обратите внимание, что команда AddType обрабатывает ваш существующий html файл как php. Если вы хотите заменить существующий html файл новым файлом php, вам нужно использовать правило перезаписи.

Ответ 6

Если вы хотите, чтобы HTTP 301 Moved Permanently перенаправлен навсегда

RewriteEngine on
RedirectMatch 301 ^(.*)\.html$ $1.php

или же

RewriteEngine on
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [L,R=301]

Ответ 7

Я вижу, что "Add * application/x-httpd-php.html" заставит простые .html-типы страниц предварительно обрабатываться PHP.

Однако мне интересно, может ли кто-нибудь объяснить, почему wewals "AddType" предпочтительнее (или нет) по сравнению с Jordonias "AddHandler"?

В обсуждении здесь они оба работают нормально, с небольшой разницей в накладных расходах.

Итак, я думаю, что мой большой вопрос на самом деле таков: с учетом рейтинга поисковых систем, что является лучшим выбором для преобразования статических HTML-страниц в платформу PHP и сохранения существующих *.html ссылок "вживую"?

Спасибо!