【问题标题】:Adding php code to .html file将 php 代码添加到 .html 文件
【发布时间】:2015-07-05 18:35:24
【问题描述】:

我想将 php 代码添加到我的 .html 文件中。我搜索了很多,但找不到它为什么不起作用

我为此遵循的步骤:

1) 在我的 htdocs 中创建了一个 .htaccess 文件

2) 并添加了以下内容

  AddType text/html .shtml .shtm .htm .html
  AddHandler application/x-httpd-php5.6 .html

3) 重新启动我的 Apache。

执行了我的页面。我的页面包含

<?php
 echo "hello";
?>

我没有看到任何错误,你好。我将 htaccess 内容更改为

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

如上所述here

它也不起作用。我不知道 htaccess 文件是否必须包含其他一些元素。请告诉我。

谢谢

【问题讨论】:

  • 开始的 php 标签只是一个错字吗?它应该没有空格:&lt;?php.
  • 你用 .php 文件测试过吗?这行得通吗?
  • 我在同一个地方有一个 .php 文件。有用。我需要别的东西来检查 htaccess 文件吗
  • 也许AddType application/x-httpd-php5 .htm .html 可以解决问题?
  • @MikeAnthony 不,我也试过了

标签: php html apache .htaccess


【解决方案1】:

您需要在httpd.conf 或您的虚拟主机文件(httpd-vhosts.conf) 中将AllowOverride 设置为All(如果您正在使用它们)。

否则,.htaccess 文件中的指令将不被允许。

更多信息可以在这里找到:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

更新

如果设置为All,那么您应该可以执行以下任一操作。

取消设置处理程序并重置它:

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

或者,使用FilesMatch

<FilesMatch "\.(htm|html|php)$">
    SetHandler application/x-httpd-php
</FilesMatch>

【讨论】:

  • 让我检查一下。 &lt;Directory /&gt; AllowOverride all Require all denied &lt;/Directory&gt; 什么要求全部拒绝。
  • 它应该是require all granted - 这就是我在我的中使用的...来自哪个文件?
  • 你使用的是虚拟主机吗?
  • 没有迈克。 AllowOverride All Require all granted我刚刚添加了这个,它不起作用:(
  • 请在我的回答中查看更新。如果它仍然不起作用,那么我可能也错过了一些东西......
【解决方案2】:

试试这个:

AddHandler application/x-httpd-php .html

【讨论】:

  • 还有别的吗? mod_mime 启用了吗?
  • 如果没有加载其他htaccess 指令,请检查AllowOverride 中的httpd.conf 或您的虚拟主机文件中的AllowOverride 是否设置为All
  • LoadModule mime_module modules/mod_mime.so 已启用。但不是 mod_mime 魔法。
  • @MikeAnthony 它设置为无。
猜你喜欢
  • 2012-07-03
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 1970-01-01
  • 2012-03-24
  • 2020-11-20
  • 1970-01-01
相关资源
最近更新 更多