Web托管服务器将php文件输出到Web浏览器,而不是解析它们

时间:2014-10-13 17:17:42

标签: php apache .htaccess

我一直在一个共享服务器上托管我用PHP编码的网站。该网站工作得很好。所以最近我将它迁移到一个新的Web托管服务,之后服务器开始逐字地将php脚本/文件的内容输出到Web浏览器!

.htaccess文件已如此配置(将htm文件解析为php):

<Files index.htm>
    AddType application/x-httpd-php .htm
</Files>

知道它为什么不解析它们?

PS。我也很好奇如何防止将来以纯文本形式将PHP脚本输出到客户端浏览器?

5 个答案:

答案 0 :(得分:0)

验证您的新网络托管服务是否允许您使用.htaccess个文件。一些托管公司出于安全考虑而禁用该功能。

答案 1 :(得分:0)

确保http.conf包含PHP MIME类型。即,确保你有这一行,并且没有注释掉:

AddType application/x-httpd-php .php

还要确保启用AllowOverride

AllowOverride All

答案 2 :(得分:0)

也许您的新托管服务提供商不允许使用短打开标签并使用它们?

如果您将<? echo "Hello world"; ?>放在hello.php中,文件是否已被解析?如果不是,请尝试将<?替换为<?php,然后重试。

答案 3 :(得分:0)

  1. 除非你只想解析index.htm,否则你不应该把它 <Files index.htm>...</Files>指令内的AddType指令。

  2. 您实际需要的是AddHandler而非AddType 把这一行放在你身上.htaccess:

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

    注意:application/x-httpd-php既是内容类型,也是PHP的处理程序名称

答案 4 :(得分:0)

刚刚修好了。我的.htaccess文件应该是这样的:

<Files index.htm>
    AddType application/x-httpd-php52 .htm
</Files>

我没有意识到它必须如此具体。