htaccess中的AddType导致页面下载


AddType in htaccess causes page to download

我已经读了大约10个这样的问题,但似乎没有答案。

什么可能导致。htm文件被下载而不是作为php执行?

我使用以下代码:

AddType application/x-httpd-php htm

我试过很多组合,但都不成功。

我还能尝试什么?

所有我需要的是。htm和。html文件来执行php。

同样使用AddHandler,将htm改为.htm并添加.html

AddHandler application/x-httpd-php .htm .html
AddType application/x-httpd-php .htm .html
http://www.suffix.be/blog/addhandler-addtype-directives

我也有同样的问题,但后来我发现我使用的php版本是php5。我将处理程序更改为以下内容,它工作了!

AddHandler x-httpd-php5-3 .php
AddHandler application/x-httpd-php5 .php

我有同样的问题,在这里找不到答案。在这个cpanel论坛上找到了它:https://forums.cpanel.net/threads/php-script-is-not-working-in-html-file.595195/

他们的建议是这样使用:

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

我使用PHP与JSON虽然。在此之后,PHP工作了,但JSON没有。通过删除AddType并坚持使用AddHandler来解决它

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

我将分享我自己在这个超级令人沮丧的问题上的经验。我的主机被另一家主机提供商接管了,他们改变了技术。其中一个变化允许我随意编辑自己的PHP版本,但绝对没有一个(从最低的5.4到最高的7.2)正常工作。我在所有域(放在根目录中)使用全局的。htaccess,并在文件的开头有我的AddType-s和AddHangler-s 。我不知道的是,当我一直在更改PHP版本时,这个小家伙在.htaccess文件的最后写了正确的字符串,定义了我的PHP版本的正确名称。当我在文件的开头定义类型时,我使用了错误的句柄,并且完全跳过了底部声明,Apache没有识别该技术,并决定直接下载。

所以注意您的托管提供商上的自定义PHP句柄定义。

最后对我有效的是:

<IfModule mime_module>
  AddType application/x-httpd-ea-php72___lsphp .php .php7 .phtml .htm .html
</IfModule>

注意标准"x-httpd-ea-php72"句柄后面附加的"___lsphp"…

在Apache和nginx只工作.htaccess文件:

<FilesMatch "'.html$">
    SetHandler php-script
</FilesMatch>

我还从Apache conf(我使用plesk)中删除了AddHandlerAddType

将这行添加到你的。htaccess文件(Solved)

AddHandler application/x-httpd-php5 .php .php4 .php5 .html .htm .phtml .shtml

尝试:应用程序/x-httpd-ea-php5或application/x-httpd-ea-php56 for PHP 5.6升级到EasyApache 4后,我不得不更改这个

道格Smartlab软件

Try

AddHandler fcgid-script .htm .html

AddHandler x-mapp-php5 .html .htm 

添加到。htaccess文件

AddType application/x-httpd-php .php .php5 .php