使用.htaccess使所有.html页面作为.php文件运行?

我需要将所有.html文件都作为.php文件运行,而在明天的演示文稿发布之前,我没有时间更改所有链接。 有什么办法可以用我的Apache服务器对其进行“破解”吗?

Michael Novello asked 2020-02-13T08:37:10Z
14个解决方案
59 votes

在网站的根目录中创建一个.htaccess文件,并添加以下行:

[Apache2 @ Ubuntu / Debian:使用此指令]

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

或者,从下面的评论中:

AddType application/x-httpd-php5 .html .htm

如果您将PHP作为CGI运行(可能不是这种情况),则应改为:

AddHandler application/x-httpd-php .html .htm 
Marc-François answered 2020-02-13T08:37:31Z
10 votes

在My Godaddy服务器中,以下代码有效

Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
tony answered 2020-02-13T08:37:51Z
6 votes

您也可以使用mod_rewrite的H或T标志来强制所有.html文件由php处理程序解析:

使用H(Handler)标志:

 RewriteEngine on

RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]

使用T(Type)标志:

 RewriteEngine on

RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]

或者,您可以将更多扩展名添加到以竖线分隔的规则模式| 你想被PHP处理程序解析

例如:

RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]

上面的示例将以.html,.htm,.txt和.foo结尾的文件的mime类型更改为php。

注意:在某些服务器上,您必须将php5更改为php才能使此示例在处理程序字符串中工作:

更改

[T=application/x-httpd-php5]

[T=application/x-httpd-php]
starkeen answered 2020-02-13T08:38:48Z
5 votes

对于仍然有麻烦的人,

试试看(我的托管服务来自Godaddy,这是所有答案中唯一对我有用的东西。

AddHandler x-httpd-php5-cgi .html
ilight answered 2020-02-13T08:39:12Z
5 votes

您需要将以下行添加到您的Apache配置文件中:

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

您还需要另外两件事:

  1. 允许覆盖

    sudo service apache2 restart 文件中(例如,在我的情况下为/etc/apache2/mods-available),添加以下行:

    sudo service apache2 restart
    
  2. 启用重写模块

    在您的机器上运行以下命令:

    sudo service apache2 restart
    

    完成所有这些步骤之后,您应该重新启动apache:

    sudo service apache2 restart
    
Dorad answered 2020-02-13T08:40:12Z
4 votes

我认为这是在html和htm页面上运行php脚本的最佳方法:

AddType application/x-httpd-php5 .html .htm
Mouhssine answered 2020-02-13T08:40:32Z
4 votes

通常,您应该添加:

Options +ExecCGI
 AddType application/x-httpd-php .php .html
 AddHandler x-httpd-php5 .php .html

但是,对于GoDaddy共享托管(php-cgi),您还需要添加以下几行:

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

来源:在Godaddy上使用HTACCESS文件将HTML解析为PHP。

CatsDontWearPants answered 2020-02-13T08:41:01Z
3 votes

这是所有其他正确答案的版本:

如果找不到正确的处理程序,只需创建一个包含以下内容的.php文件:

<?php echo $_SERVER['REDIRECT_HANDLER']; ?>

并在浏览器中运行/打开此文件。

Output from the php code, copy this output

在.htaccess文件中使用此输出

在您网站的根目录(通常是Linux服务器上名为public_html或htdocs的文件夹)的根目录中创建一个.htaccess文件,并添加以下行:

AddType [[THE OUTPUT FROM ABOVE FILE]] .html .htm

AddType application/x-httpd-php70 .html .htm

重要的提示:

如果看到空白页或.htaccess

.htaccess中尝试默认

AddHandler application/x-httpd-php .html
th3pirat3 answered 2020-02-13T08:41:56Z
2 votes

这里把这个放在你的.htaccess中

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

此页面上的更多信息

andrewk answered 2020-02-13T08:42:21Z
1 votes

使用@Marc-François方法Firefox提示我下载html文件

最后,以下内容对我有用(同时使用):

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

Philipp Michael answered 2020-02-13T08:42:50Z
1 votes

将.html文件作为php运行时,我的.htaccess文件突然停止工作。

Godaddy的支持让我将其更改为:

AddHandler application/x-httpd-lsphp .html
Mike Slaught answered 2020-02-13T08:43:14Z
0 votes
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html
John x3 answered 2020-02-13T08:43:30Z
0 votes

我正在Raspberry Pi 3中运行PHP7.1。

在文件/etc/apache2/mods-enabled/php7.1.conf的最后添加:

AddType application/x-httpd-php .html .htm .png .jpg .gif
Wobbo answered 2020-02-13T08:43:54Z
0 votes

在Dreamhost服务器上,您可以参考此页面,该页面在撰写本文时表明您可以对带有FastCGI的php 7.2使用以下内容:

AddHandler fcgid-script .html
FcgidWrapper "/dh/cgi-system/php72.cgi" .html

或者,如果您使用的是php5 cgi(而非FastCGI):

AddHandler php5-cgi .html
WEBjuju answered 2020-02-13T08:44:19Z
translate from https://stackoverflow.com:/questions/4687208/using-htaccess-to-make-all-html-pages-to-run-as-php-files