【问题标题】:Is there a way to make an HTML page include php, but not have a .php extension? I want to "include" my headers有没有办法让 HTML 页面包含 php,但没有 .php 扩展名?我想“包含”我的标题
【发布时间】:2012-09-19 02:49:11
【问题描述】:

有些页面看似没有 .php 扩展名,但其中包含服务器端内容。还是我完全错了?

基本上,我希望为我的页眉和页脚添加包含语句,而不必将更改复制并粘贴到每个 HTML 文档中,而是更新一个。我可以在不将页面设置为 .php 的情况下执行此操作吗?

包含这些内容的最佳方式是什么?

【问题讨论】:

  • 我认为这里没有人会说,顺便说一句,拥有带有 php 扩展名的文件有什么不好。
  • 您可以将您的网络服务器配置为将任何文件扩展名视为特定类型,因此如果您真的想要,您可以将所有 .exe 文件视为 PHP 脚本。对于任何查看 url 的人来说,它看起来就像一个 windows 框,但它实际上只是一个带有“时髦”名称的 php 脚本。
  • @thatidiotguy 实际上,是的,有一个非常充分的理由避免网页中特定于语言的扩展:将 URL 与语言分离。假设我的网站是用 php 编码的,然后我决定在 Rails 中重做它。随着网址的变化,我的所有链接(以及所有入站链接)突然间 all 中断。如果我设置我的网络服务器(apachelighttp 等等)来提供不带扩展名的 php,那么我可以更改语言,它对用户、谷歌、必应和所有其他链接到我的网站都是透明的.
  • @BryanH 这很容易通过使用 mod_rewrite 来处理,只需在 url 的末尾并为您当前使用的任何内容切换扩展名。
  • @thatidiotguy 我想一个人可以维护一个不断增长的 .htaccess 文件(如果你决定从 PHP 更改为 ColdFusion 再到 Perl 到 Python,狗会帮助你,所以你必须不断更新它),或者你可以保持简单,根本不使用特定于语言的扩展。当然,我个人更喜欢简单的 YMMV。

标签: php


【解决方案1】:

它不需要 .php 结尾,只需包含它:)

【讨论】:

    【解决方案2】:

    是的,让您的网络服务器将您的 HTML 文件解析为 PHP 脚本,然后您就可以从 .html 文件中添加 <?php include 'whatever.php';

    Apache 示例:

    AddType application/x-httpd-php .html
    

    【讨论】:

      【解决方案3】:

      为什么不使用.php? 只需像这样创建每个页面:

      <?php
          include 'header.php';
      
          // your code
      
          include 'footer.php';
      ?>
      

      并为布局的顶部创建一个 header.php,为底部创建一个 footer.php。 您还可以查看 smarty 之类的模板引擎。

      【讨论】:

        【解决方案4】:

        您可以将文件扩展名 html 映射为 php 在 apache 中的 .htaccess 文件中执行

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

        您的服务器上可能不受支持或不同(托管 1 和 1)。

        http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addtype

        【讨论】:

          猜你喜欢
          • 2020-04-05
          • 2013-08-02
          • 2014-11-17
          • 1970-01-01
          • 1970-01-01
          • 2014-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多