服务器未将.html解析为PHP
我在.htaccess文件中有包含的代码,但我试图包含的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
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