Использование.htaccess для создания all.html страницы для запуска as.php файлы?


Мне нужно запустить все мои файлы .html как файлы.php, и у меня нет времени менять все ссылки до нашей завтрашней презентации. Есть ли какой-нибудь способ "взломать" это с помощью моего сервера Apache?

Author: Michael Novello, 2011-01-14

13 answers

Создайте файл .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 
 57
Author: Marc-François, 2017-12-21 13:41:41

На моем сервере Godaddy работал следующий код

Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
 10
Author: tony, 2013-03-12 02:25:51

Для тех, у кого все еще есть проблемы,

Попробуйте это (мой хостинг был от Godaddy, и это единственное, что сработало для меня среди всех ответов.

AddHandler x-httpd-php5-cgi .html
 5
Author: ilight, 2012-08-28 20:11:17

Вы также можете использовать флаг H или T mod_rewrite, чтобы заставить все html-файлы анализироваться обработчиком php:

Использование флага H (обработчик):

 RewriteEngine on

RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]

Использование флага T (Тип):

 RewriteEngine on

RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]

Или вы можете добавить дополнительные расширения к шаблону правил, разделенному каналом | что вы хотите, чтобы вас проанализировал обработчик php

Пример:

RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]

Приведенный выше пример изменит тип mime файлов, которые заканчиваются на .html , . htm , . текст , .foo на php.

Примечание: на некоторых серверах вам придется изменить php5 на php, чтобы этот пример работал в строке обработчика:

Измените его

[T=application/x-httpd-php5]

До

[T=application/x-httpd-php]
 5
Author: starkeen, 2015-11-30 19:01:59

Вам нужно добавить следующую строку в файл конфигурации Apache:

AddType application/x-httpd-php .htm .html

Вам также нужны две другие вещи:

  1. Разрешить переопределение

    В файле your_site.conf (например, в разделе /etc/apache2/mods-available в моем случае) добавьте следующие строки:

    <Directory "<path_to_your_html_dir(in my case: /var/www/html)>">
        AllowOverride All
    </Directory>
    
  2. Включить режим перезаписи

    Выполните эту команду на своем компьютере:

    sudo a2enmod rewrite 
    

    После любого из этих шагов вам следует перезапустить apache:

    sudo service apache2 restart
    
 5
Author: Dorad, 2017-11-06 14:16:52

Я думаю, что это лучший способ запустить php-скрипт на html- и htm-страницах:

AddType application/x-httpd-php5 .html .htm
 4
Author: Mouhssine, 2013-04-27 16:54:54

Обычно вы должны добавить:

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.

 4
Author: CatsDontWearPants, 2017-11-06 14:18:32

Вот, поместите это в свой.htaccess

AddType application/x-httpd-php .php .htm .html

Более подробная информация на этой странице

 2
Author: andrewk, 2011-01-14 02:03:34

Используя подход @Marc-François, Firefox предложил мне загрузить html-файл

Наконец, для меня работает следующее (с использованием обоих):

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

 1
Author: Philipp Michael, 2015-07-03 07:26:38

Это в редакции всех других правильных ответов:

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

<?php echo $_SERVER['REDIRECT_HANDLER']; ?>

И запустите/откройте этот файл в браузере.

Output from the php code, copy this output

Используйте этот вывод в файле .htaccess

Создайте файл .htaccess в корне вашего веб-сайта (обычно это папка с именем public_html или htdocs на серверах Linux) и добавьте это строка:

AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm

Пример

AddType application/x-httpd-php70 .html .htm

Важное примечание:

Если вы видите пустую страницу или Notice: Undefined index: REDIRECT_HANDLER

Попробуйте использовать значение по умолчанию в .htaccess

AddHandler application/x-httpd-php .html
 1
Author: th3pirat3, 2018-03-30 22:01:55
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html
 0
Author: John x3, 2017-01-27 22:30:25

Я использую PHP7.1, работающий в моем Raspberry Pi 3.

В файле /etc/apache2/mods-enabled/php7.1.conf Я добавил в конце:

AddType application/x-httpd-php .html .htm .png .jpg .gif
 0
Author: Wobbo, 2018-03-22 13:45:30

Запуск html-файлов, так как php внезапно перестал работать в моем файле .htaccess.

Поддержка Godaddy заставила меня изменить его на:

AddHandler application/x-httpd-lsphp .html
 0
Author: Mike Slaught, 2018-06-20 20:35:46