htaccess中的AddType会导致页面下载

时间:2013-06-10 12:49:17

标签: php html .htaccess

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

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

我使用以下代码:

AddType application/x-httpd-php htm

我尝试了很多组合但没有成功。

我还能尝试什么?

我只需要.htm和.html文件来执行php。

9 个答案:

答案 0 :(得分:5)

同时使用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

答案 1 :(得分:4)

我有同样的问题,但后来我想我正在使用的php版本是php5。我将处理程序更改为以下内容并且有效!

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

答案 2 :(得分:2)

我正在分享我关于这个超级令人沮丧的问题的经验。我的主机被另一家主机提供商接管,他们改变了技术。其中一项更改使我可以随意编辑自己的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” ...

上帝,那真让我吃饱了……

答案 3 :(得分:1)

将此行添加到.htaccess文件(已解决)

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

答案 4 :(得分:1)

尝试: application / x-httpd-ea-php5或 用于PHP 5.6的application / x-httpd-ea-php56 升级到EasyApache 4后我不得不改为使用它

道格 Smartlab软件

答案 5 :(得分:1)

我遇到了同样的问题,但在这里找不到答案。但是在这个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一起使用PHP。在这之后PHP工作,但JSON没有。通过删除AddType并坚持使用AddHandler

解决了这个问题
AddHandler application/x-httpd-ea-php56 .htm .html .shtml

答案 6 :(得分:1)

仅在Apache&nginx中工作.htaccess文件:

SetHandler PHP脚本

我也从apache conf中删除了AddHandler和AddType。 (我使用plesk)

答案 7 :(得分:0)

尝试

AddHandler fcgid-script .htm .html

或者

AddHandler x-mapp-php5 .html .htm 

答案 8 :(得分:0)

将此添加到.htaccess文件中

AddType应用程序/ x-httpd-php .php .php5 .phtml