Сервер не разбирает .html как PHP - PullRequest
18 голосов
/ 09 июня 2011

У меня есть включенный код в моем файле .htaccess, но код php, который я пытаюсь включить, не работает.

Options +Includes
AddType text/html  .htm .html
AddHandler server-parsed .htm .html
AddType application/octet-stream .vcf
AddOutputFilterByType DEFLATE text/html text/htm text/plain text/css text/php    text/javascript application/x-javascript

Ответы [ 22 ]

31 голосов
/ 09 июня 2011

Попробуйте:

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

ОБНОВЛЕНИЕ 1

Возможно, это зависит от версии PHP.Если вы используете PHP5, попробуйте:

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

ОБНОВЛЕНИЕ 2

Попробуйте:

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

Или вот еще один альтернативный способ сделатьэто:

<FilesMatch "\.html$">
    ForceType application/x-httpd-php
</FilesMatch>
18 голосов
/ 06 июля 2013

В Apache 2.2.22 (Ubuntu) с Php 5 добавьте эти строки в /etc/apache2/mods-enabled/php5.conf

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

и перезапустите apache

sudo service apache2 restart
8 голосов
/ 20 декабря 2014

Для общего хостинга godaddy (php-cgi):

С http://sagarnangare.com/parse-html-as-php-using-htaccess-file-on-godaddy/

AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html

Это единственный, кто работал на меня.

6 голосов
/ 23 апреля 2015

Если вы используете панель управления Plesk:

PHP работает как модуль Apache:

<IfModule mod_php5.c>
   AddHandler php5-script .php .html .htm
   AddType text/html .php .html .htm
</IfModule>

PHP работает как приложение FastCGI:

<IfModule mod_fcgid.c>
    <Files ~ (\.html)>
        SetHandler fcgid-script
        FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .html
        Options +ExecCGI
        allow from all
    </Files>
</IfModule>

PHP работает как CGI-приложение:

<Files ~ (\.html)>
    SetHandler None
    AddHandler php-script .html
    Options +ExecCGI
    allow from all
</Files>

Тогда / usr / local / psa / admin / sbin / httpdmng --reconfigure-all

http://kb.odin.com/en/115773

4 голосов
/ 22 декабря 2012

Если ваш сервер использует PHP5, используйте это:

AddHandler application/x-httpd-php5 .html .htm

Если это не PHP5, тогда используйте

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

У меня это работает на хостинге CPanel.

Если вы используете какой-либо другой хостинг Linux, попробуйте это:

<IfModule mod_mime.c>
AddType application/x-httpd-php .html .php .htm
</IfModule>

Options +FollowSymlinks
3 голосов
/ 26 апреля 2017

ОЧЕНЬ ВАЖНО, что вы должны заменить «php5» на вашу СОБСТВЕННУЮ точную версию PHP в:

AddHandler application/x-httpd-php5 .html .htm

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

Потому что я всячески пробовал все в Интернете, но ничего не получалось, пока янашел пункт меню «MultiPHP Manager» под моим CPanel, и при этом я узнал, что моя точная версия / имя / id PHP (или как там это называется) была «ea-php56», поэтому мой рабочий код:

AddHandler application/x-httpd-ea-php56 .html .htm

AddType application/x-httpd-ea-php56 .html .htm

Я просматривал весь день форумы, комментарии, но я не нашел эту очень важную информацию нигде, так что, возможно, вам также придется искать вашу точную версию PHP, если она не работает!

2 голосов
/ 20 января 2017

Для сервера Godaddy это работало для меня

Options +ExecCGI
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
1 голос
/ 18 марта 2012

BenG, какое-нибудь решение работало для вас?

это может помочь - я нашел эту тему запутанной, потому что любое утверждение работало для меня в моей локальной среде разработчика

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

после прочтения документации apache по обеим директивам кажется, что вы хотите использовать AddType при добавлении mime-типа, еще не обработанного apache, и AddHandler , когда вы хотите, чтобы apache обработал файлотличается от его обработки по умолчанию этого типа файла.Я могу ошибаться, но, похоже, именно это и говорится в руководстве.

, поэтому, если вы хотите, чтобы apache обрабатывал .html и .htm, как если бы они были .php-файлами, вы должны использовать директиву:

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

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

0 голосов
/ 21 июня 2016

PHP работает с SuPHP:

<FilesMatch "\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>
0 голосов
/ 22 января 2016

Возможно, вы захотите попробовать добавить эту строку в файл .htaccess:

AddHandler x-mapp-php6 .html .htm
...