Ответ 1
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]
Если вы хотите, чтобы это было сделано как перенаправление, а не только переписывание, измените [L]
на [L,R]
Я хочу обновить все страницы на веб-сайте, чтобы использовать include для нижнего колонтитула и заголовка. Поэтому мне нужно изменить много .html страниц на .php.
Итак, я ищу способ перенаправить все страницы, заканчивающиеся на .html, на тот же URL, но заканчивающийся на .php.
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]
Если вы хотите, чтобы это было сделано как перенаправление, а не только переписывание, измените [L]
на [L,R]
Вы можете сделать более простой подход и обработать все ваши html файлы в виде файлов php, добавив следующую строку в ваш .htaccess
AddHandler application/x-httpd-php .php .html
mod_rewrite на помощь!
RewriteEngine On
RewriteRule ^(.+)\.html$ $1.php
В файле apache httpd.conf вы можете добавить
AddType application/x-httpd-php .html
чтобы файлы .html проходили через парсер php до того, как они будут обслуживаться пользователю. Вы также можете добавить эту директиву в свой файл .htaccess. Второй способ может не работать в зависимости от настройки вашего хоста.
Обратите внимание, что команда AddType обрабатывает ваш существующий html файл как php. Если вы хотите заменить существующий html файл новым файлом php, вам нужно использовать правило перезаписи.
Если вы хотите, чтобы HTTP 301 Moved Permanently
перенаправлен навсегда
RewriteEngine on
RedirectMatch 301 ^(.*)\.html$ $1.php
или же
RewriteEngine on
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [L,R=301]
Я вижу, что "Add * application/x-httpd-php.html" заставит простые .html-типы страниц предварительно обрабатываться PHP.
Однако мне интересно, может ли кто-нибудь объяснить, почему wewals "AddType" предпочтительнее (или нет) по сравнению с Jordonias "AddHandler"?
В обсуждении здесь они оба работают нормально, с небольшой разницей в накладных расходах.
Итак, я думаю, что мой большой вопрос на самом деле таков: с учетом рейтинга поисковых систем, что является лучшим выбором для преобразования статических HTML-страниц в платформу PHP и сохранения существующих *.html ссылок "вживую"?
Спасибо!