Каков наилучший способ изменить расширение файла с .htm на .php - PullRequest
0 голосов
/ 19 апреля 2011

Мне нужно изменить некоторые htm-файлы на моем веб-сервере на .php-файлы.Эти страницы связаны из разных мест.я не хочу, чтобы они показывали ошибку "файл не найден", когда кто-то пытается получить к ним доступ.

Например, если нужно изменить index.htm на index.php, могу ли я записать перенаправление

     redirect 301 /index.html index.php

в мой файл htaccess?Это лучший подход?

Спасибо

Prady

Ответы [ 2 ]

2 голосов
/ 19 апреля 2011

Вы можете использовать mod_rewrite.Примерно так может работать:

RewriteEngine on
RewriteRule index.php index.html

Вы можете использовать регулярные выражения.Смотри: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

1 голос
/ 19 апреля 2011

redirect 301 /index.html index.php

Это не будет работать, если вы отправляете данные через POST. Все, кроме переименования файлов и переписывания ссылок, является уродливым и временным взломом. FWIW, вы можете избежать этого, располагая каждую «страницу» в своем собственном каталоге и ссылаясь на каталог в URL и указав файл по умолчанию через configIndex config.

Вы не упомянули, на какой ОС это работает - если это Linux / Unix / BSD, то вы можете просто использовать sed, чтобы изменить все абсолютные ссылки (и grep, чтобы найти относительные ссылки, которые вам, вероятно, понадобится редактировать от руки).

Что-то вроде ....

find /path/to/root/of/docs -type f -exec sed -ibkup 's/\/index.html/\/index.php/g' {} \;
find /path/to/root/of/docs -type f -exec grep -l 'index.html' {} \;
...