【问题标题】:How to include PHP file in SHTML pages?如何在 SHTML 页面中包含 PHP 文件?
【发布时间】:2010-10-24 18:24:55
【问题描述】:

我有一个 shtml 文件 index.shtml,我想在其中包含一个 PHP 文件,该文件执行一些编程并返回 HTML 数据。我正在尝试包含我的 PHP 文件,但我不知道该怎么做,我尝试了以下操作,但没有任何效果,

下面一行只是打印一个错误,“[处理此指令时发生错误]”:

<!--#include file="/SSI/test.php"--> 

这一行显示一些垃圾字符:

<!--#include virtual="/SSI/test.php"--> 

这一行什么都不做,并在 .shtml 页面中显示命令

<?PHP 
    include("/SSI/test.php");
?>

谢谢

【问题讨论】:

    标签: php file include webpage shtml


    【解决方案1】:

    我可能是错的,但是鉴于您遇到的错误,问题可能不在包含语句中,而是在要包含的 php 文件中的错误导致了问题。

    【讨论】:

      【解决方案2】:

      如果除了您提到的关于流量的内容之外,您使用 .shtml 没有特别的原因,您可以在您的 .htaccess 文件中更改其处理:

      <Files *.shtml>
      ForceType application/x-httpd-php
      </Files>
      

      或者您可以特别指定该文件:

      <Files filename.shtml>
      ForceType application/x-httpd-php
      </Files>
      

      这将告诉服务器解析 .shtml 就像它是一个 .php 文件一样,因此应该处理任何 PHP 命令,例如您的 include 语句。无需更改文件扩展名。

      【讨论】:

      • 这会为我下载网页
      【解决方案3】:

      对于最后一个工作,只需将您的 .shtml 重命名为 .php 但请注意,这将阻止其中的任何 shtml 工作。但这不应该是一个问题,如果你也将它重写为 php。

      编辑您的评论:
      如果您运行 apache,您可以在 .htacces 中添加以下内容,然后您可以将文件重命名为 .php

       redirect permanent filename.shtml filename.php
      

      这会将访问 example.com/filename.shtml 的人重定向到 example.com/filename.php

      【讨论】:

      • 我不想将我的 .shtml 重命名为 .php caz,我已经从该链接获得了大量流量,我不想在文件名上冒任何风险。
      • 重定向不会改变这一点,它正是为此目的而设计的
      【解决方案4】:

      我认为您不能在 Apache 中使用(我不知道其他 Web 服务器)。 The Apache documentation 说 'include_virtual' 允许您包含 CGI 程序的结果;但 PHP 不是 Apache 术语中的 CGI 应用程序:它由不同的模块以不同的方式处理。

      科林

      【讨论】:

      • PHP可以配置为CGI程序
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      • 2011-08-24
      • 2016-01-06
      相关资源
      最近更新 更多