Мне нужно запустить все мои .html-файлы как .php-файлы, и у меня нет времени, чтобы изменить все ссылки до нашей презентации завтра. Есть ли способ «взломать» это с помощью моего сервера Apache?
Создайте файл .htaccess в корне вашего сайта и добавьте эту строку:
[Apache2 @ Ubuntu / Debian: используйте эту директиву]
AddType application/x-httpd-php .html .htm
Или из комментария ниже:
AddType application/x-httpd-php5 .html .htm
Если вы используете PHP как CGI (возможно, не так), вы должны написать вместо этого:
AddHandler application/x-httpd-php .html .htm
В My Godaddy Server работает следующий код
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Для тех, у кого есть проблемы,
попробуйте это (мой хостинг был от Godaddy, и это единственное, что работало для меня среди всех ответов там.
AddHandler x-httpd-php5-cgi .html
Вам нужно добавить следующую строку в конфигурационный файл Apache:
AddType application/x-httpd-php .htm .html
Вам также нужны две другие вещи:
Разрешить переопределение
В файле your_site.conf
(например, в /etc/apache2/mods-available
в моем случае) добавьте следующие строки:
<Directory "<path_to_your_html_dir(in my case: /var/www/html)>"> AllowOverride All </Directory>
Включить режим перезаписи
Запустите эту команду на своем компьютере:
sudo a2enmod rewrite
После любого из этих шагов вы должны перезапустить apache:
sudo service apache2 restart
Я думаю, что это лучший способ запустить php-скрипт на html и htm-страницах:
AddType application/x-httpd-php5 .html .htm
Обычно вы должны добавить:
Options +ExecCGI AddType application/x-httpd-php .php .html AddHandler x-httpd-php5 .php .html
Однако для общего хостинга GoDaddy (php-cgi) вам необходимо добавить также следующие строки:
AddHandler fcgid-script .html FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
Источник: анализ HTML как PHP с использованием файла HTACCESS на Godaddy .
здесь помещаем это в ваш .htaccess
AddType application/x-httpd-php .php .htm .html
Дополнительная информация об этой странице
Вы также можете использовать флаг H или T mod_rewrite, чтобы заставить все .html-файлы анализироваться обработчиком php:
используя флаг H (Handler):
RewriteEngine on RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
используя флаг T (Тип):
RewriteEngine on RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
Или вы можете добавить дополнительные расширения к шаблону правила, отделяемому от трубы | что вы хотите разобрать обработчик php
ex:
RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]
приведенный выше пример изменит тип файла mime, который заканчивается на .html , .htm , .txt , .foo на php.
Примечание. На некоторых серверах вам придется изменить php5 на php, чтобы этот пример работал в строке обработчика:
Измени это
[T=application/x-httpd-php5]
в
[T=application/x-httpd-php]
Используя подход @ Marc-François, Firefox предложил мне загрузить файл html
Наконец, для меня работает (используя оба):
AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html
AddHandler application/x-httpd-php .php .html .htm // or AddType application/x-httpd-php .php .htm .html