尽管配置了.htaccess,但php代码在html中不起作用

Posted

技术标签:

【中文标题】尽管配置了.htaccess,但php代码在html中不起作用【英文标题】:php code not working inside html though .htaccess configured 【发布时间】:2014-11-01 21:47:12 【问题描述】:

我无法在如下所示的 html 页面上运行 php 脚本:

<!doctype html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Directory Contents</title>
  <link rel="stylesheet" href="stylesheets/displayStylesheet.css">
  <script src="javascripts/sorttable.js"></script>

</head>

<body>

  <div id="container">

    <h1>Directory Contents</h1>

    <table class="sortable">
      <thead>
        <tr>
          <th>Filename</th>
          <th>Type</th>
          <th>Size <small>(bytes)</small></th>
          <th>Date Modified</th>
        </tr>
      </thead>
      <tbody>
      <?php require ($_SERVER['DOCUMENT_ROOT'].'/php/displayDirectory.php5'); ?>
      </tbody>
    </table>
  </div>

</body>

</html>

这是我的 .htaccess 文件:

AddType application/x-httpd-php5 .php5 AddType application/x-httpd-php5 .phps

在我的 apache.conf 中我添加了:

LoadModule php5_module modules/mod_php55.so

但是,在重新启动 apache 时,警告显示它已经加载。

我还检查了是否安装了 php,它是版本 5。此时 index.html 加载 displayDirectory.html 但其中的 php 代码没有被处理。

我错过了什么吗?

【问题讨论】:

PHP 代码存在语法错误 您的 .htaccess 文件是否正常工作?一个简单的检查方法是在文件中放置一个故意的语法错误,看看你的服务器是否给你一个错误。如果是这样,它正在工作。如果没有,那么 htaccess 没有被读取。 【参考方案1】:

你有语法错误:

<?php require ('$_SERVER['DOCUMENT_ROOT']./php/displayDirectory.php5'); ?>

<?php require ($_SERVER['DOCUMENT_ROOT'].'/php/displayDirectory.php5'); ?>

我在 IIS 上遇到过这个问题,它是由语法错误引起的。我假设您使用的是 Apache,因为您使用的是 .htaccess:

PHP files are downloaded by browser instead of processed by local dev server (MAMP)

Apache is downloading php files instead of displaying them

.htaccess 如果您使用的是 IIS 将不起作用;你需要玩弄 web.config

【讨论】:

我根据您发布的链接编辑了语法错误和.htaccess。现在它没有下载任何东西。它只是重定向到displayDirectory.html。但是它仍然没有运行该文件中包含的 php 脚本。 嗯...我想现在你的 html 中的 php 代码不会被执行。您需要确保它知道在 html 文件中查找 php 代码。我无法重新创建您的场景,但请尝试: AddHandler application/x-httpd-php5 .php5 .html AddType application/x-httpd-php5 .php5 .html 你知道php5.conf文件是否需要进行某种配置吗? 我在 Windows 上运行我的 php,所以我没有那个文件,但我不这么认为。这些文件被配置为运行并且仅用于调整。您是自己配置 Apache 还是使用 XAMPP 之类的软件? 我自己配置​​的。我在 apache2/mods-available 中找到了 php.conf。

以上是关于尽管配置了.htaccess,但php代码在html中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 中的 AddType 导致页面下载

.htaccess解析htm到php5

PHP .htaccess解析htm到php5

将 *.htm 重定向到 *.php

如何从 htaccess 为多个 PHP 版本配置 Apache

php代码在html文件中不起作用,.htaccess配置,dreamweaver php服务器设置,使用xampp [重复]