服务器未将.html解析为PHP

服务器未将.html解析为PHP,php,apache,.htaccess,Php,Apache,.htaccess,我在.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/java

我在.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
尝试:

更新1

它可能是特定于PHP版本的。如果您使用的是PHP5,请尝试:

AddType application/x-httpd-php5 .html .htm
更新2

尝试:

或者这里还有另一种方法:

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

ForceType应用程序/x-httpd-php
来自

如何将Apache配置为 .html文件是否在SUPPP下作为PHP?你 需要删除以前的任何条目吗 用于将.html文件作为PHP和 在.htaccess中插入以下内容 文件:AddHandler x-httpd-php.html .htm或您可以手动添加此项 使用Cpanel->Apache处理程序-> 新:扩展名:.html.htm处理程序: x-httpd-php最新的cPanel服务器 实际上需要以下几点 而是:AddHandler application/x-httpd-php.html.htm或 AddType应用程序/x-httpd-php.html .htm如果第一种类型 不适用于你的文件


BenG,有什么解决办法对你有用吗

这可能会有所帮助——我发现这个主题令人困惑,因为这两个语句在我的本地开发环境中都适用

AddHandler application/x-httpd-php .html .htm
or
AddType application/x-httpd-php .html .htm
在阅读了这两个指令的apache文档之后,您似乎希望在添加apache尚未处理的mime类型时,以及在希望apache以不同于其默认处理该文件类型的方式处理文件时使用。我可能错了,但手册上似乎是这么说的

因此,如果希望apache像处理.php文件一样处理.html和.htm,则可以使用以下指令:

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

您上面提到的.htaccess文件正在做一些事情,因此您可以首先验证它是否确实告诉apache将.htm和.html文件当作.php文件来处理;然后转到您想要使用的其他指令。

不知道它是否有用,但是。。。经过一小时的搜索,我的示例如下:

AddType application/x-httpd-php .php
LoadModule php5_module "c:/server/php5/php5apache2_2.dll"
ScriptAlias /_php/ "c:/server/php5/"
在httpd.conf中


如果没有LoadModule和ScriptAlias,它根本不处理php,并显示纯文本。如果此
AddType应用程序/x-httpd-php.html.htm
不起作用,您可以尝试将此
AddType php.html.htm
仅放在htaccess中。

如果您的服务器使用的是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

AddType应用程序/x-httpd-php.html.php.htm
选项+FollowSymlinks

以前一直被这个问题困扰,如果其他方法都不起作用,那么可能发生的情况是,您将其作为文件阅读,而不是通过apache。检查您的地址栏,确保它以localhost、您的ip、127.0.0.1或您的域名开头(如果您已经将其设置为指向服务器)。

如果您试图运行非常旧的PHP代码,请确保

short_open_tag = On
在php.ini中

或者,更好的做法是(因为不建议再为新代码使用短开放标记)仅通过以下方式为特定虚拟主机启用:

php_value short_open_tag On
在带有php5的apache2.2.22(Ubuntu)上的httpd.conf/.htaccess文件中,将这些行添加到
/etc/apache2/mods enabled/php5.conf

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>
简化为3个步骤:

  • vim/etc/httpd/conf/httpd.conf

  • <FilesMatch ".+\.html$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    
  • AddType应用程序/x-httpd-php.html

  • 服务httpd重启


  • 将此添加到.htaccess解决了我的问题,使用PHP 5.5:

    AddType application/x-httpd-php .html
    

    对于godaddy共享主机(php cgi):


    这是唯一对我有效的方法。

    如果您使用的是Plesk控制面板:

    PHP作为Apache模块运行:

    <IfModule mod_php5.c>
       AddHandler php5-script .php .html .htm
       AddType text/html .php .html .htm
    </IfModule>
    
    
    AddHandler php5 script.php.html.htm
    AddType text/html.php.html.htm
    
    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>
    
    <Files ~ (\.html)>
        SetHandler None
        AddHandler php-script .html
        Options +ExecCGI
        allow from all
    </Files>
    
    
    SetHandler fcgid脚本
    FCGIWrapper/var/www/cgi-bin/cgi\u-wrapper/cgi\u-wrapper.html
    选项+执行CGI
    通融
    
    PHP作为CGI应用程序运行:

    <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>
    
    <Files ~ (\.html)>
        SetHandler None
        AddHandler php-script .html
        Options +ExecCGI
        allow from all
    </Files>
    
    
    SetHandler无
    AddHandler php script.html
    选项+执行CGI
    通融
    
    然后 /usr/local/psa/admin/sbin/httpdmng——重新配置所有


    我正在使用带有Plesk的GoDaddy专用服务器。以下是我必须使用的使其工作的方法:

    AddHandler fcgid-script .htm
    FCGIWrapper /var/www/cgi-bin/cgi_wrapper/cgi_wrapper .htm
    
    有关
    cgi\u包装的实际路径,请参阅文件:

    /var/www/vhosts/yourdomain.com/conf/last_httpd.include


    或者
    /etc/httpd/conf.d/php\u cgi.conf

    您可能希望尝试将此行添加到
    .htaccess
    文件中:

    AddHandler x-mapp-php6 .html .htm
    

    PHP正在使用SuPHP运行:

    <FilesMatch "\.html$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    
    
    SetHandler应用程序/x-httpd-php
    
    对于Godaddy服务器,它对我有效

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

    非常重要的是,您必须在以下位置将“php5”替换为您自己的确切PHP版本:

    AddHandler application/x-httpd-php5 .html .htm
    
    AddType application/x-httpd-php5 .html .htm
    
    因为我已经在网络上尝试了所有方法,但在我的CPanel下找到了“MultiHP Manager”菜单点之前,一切都不起作用,在这个菜单点下,我发现我的确切PHP版本/名称/id(或其他名称)是“ea-php56”,所以我的工作代码是:

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

    我已经浏览了一整天的论坛、评论,但是我没有在任何地方找到这一非常重要的信息,所以如果PHP版本不起作用,也许你也必须查找它

    AddHandler应用程序/x-httpd-ea-php56.html.htm

    AddType应用程序/x-httpd-ea-php56.html.htm


    这对我有用

    如果您想在搜索引擎优化中找到www.examle.com/page.php的url?id=123&lang=it,请参见www.examle.com/it/1/2/3/pagina.html 加载项.htaccess

    <Files it>
    SetHandler php-script
    </Files>
    <Files ru>
    SetHandler php-script
    </Files>
    
    
    SetHandler php脚本
    SetHandler php脚本
    
    在web http根目录中创建文件“it”“ru”时,如下所示:

    <?php
       // www.examle.com/it
       $lang="it";
       include("urlrewrite.php"); 
    ?>
    <?php
       // www.examle.com/ru
       $lang="ru";
       include("urlrewrite.php"); 
    ?>
    

    对于PHP版本5.6.40,将PHP作为“由Apache提供服务的FRM应用程序”(Plesk)运行 将此添加到.httaccess中

    <FilesMatch "\.html$">
       SetHandler php-script
    </FilesMatch>
    
    
    SetHandler php脚本
    

    这是我的工作

    我被难倒了两个小时,直到我查看了
    /etc/php/7.2/fpm/pool.d/www.conf
    ,然后取消了
    <FilesMatch "\.html$">
       SetHandler php-script
    </FilesMatch>
    
    <head>
    </head>
    <body>
        This should show date here:
    
    <?php echo date('l, F jS, Y'); ?>
    </body>
    
    <IfModule mod_mime.c>
    AddType application/x-httpd-ea-php73 .html .php .htm
    </IfModule>
    Options +FollowSymlinks