【问题标题】:PHP Header & FooterPHP页眉和页脚
【发布时间】:2011-08-17 11:05:06
【问题描述】:

我正在尝试为我的整个网站创建一个通用的页眉和页脚。但是我的网页被组织在不同的文件夹中。我应该如何在 PHP 文件中定义我的链接,以便我可以将它们包含在所有页面中。下面在我的 menu.php 文件的一部分中。

Code:Root
<li>
<a href="company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="team.html"><strong>Our</strong> Team</a></li>
<li><a href="index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="company.html#testimonials">Testimonials</a></li>
<li><a href="others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>

Code: Child
<li>
<a href="../company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="../team.html"><strong>Our</strong> Team</a></li>
<li><a href="../index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="../company.html#testimonials">Testimonials</a></li>
<li><a href="../others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>

我不想使用绝对路径,因为我正在我的 mac 上的本地 apache 服务器中测试该站点。

【问题讨论】:

    标签: php header include footer


    【解决方案1】:

    应该使用绝对路径。只需为您的项目创建一个BASE_URL 常量并将其指向您的基本 URL。之后只需将其附加到您的网址

    <li><a href="<?php echo BASE_URL?>/team.html"><strong>Our</strong> Team</a></li>
    ...
    ...
    ...
    <li><a href="<?php echo BASE_URL?>/path/team.html"><strong>Our</strong> Team</a></li>
    

    【讨论】:

      【解决方案2】:

      我会包含一个文件,可能是 config.php,里面有一个绝对路径。这样,即使您在本地测试您的网站,您也只需要更改这个常量并在您想要的任何链接中使用它。

      【讨论】:

        【解决方案3】:

        如果这些页面位于文档根目录中,您可以在它们前面加上斜杠:

        <li><a href="/team.html"><strong>Our</strong> Team</a></li>
        

        在 Unix 上,/ 将提供到根目录的路径,无论是 http://localhost/team.html 还是 http://example.com/team.html

        【讨论】:

          【解决方案4】:

          我会使用&lt;base&gt; tag。包含后,您可以使用相对链接,浏览器会在正确的位置查找。

          如果你真的不想为不同的域来回切换&lt;base&gt;中的url,你可以尝试使用$_SERVER['HTTP_HOST']动态设置它。

          【讨论】:

            【解决方案5】:

            我认为最好的解决方案是有一个对象来呈现布局以及您当时想要显示的任何页面。

            你的布局应该是这样的:

            mylayout.phtml

            <html>
            <head><?php $title ?></head>
            <body>
            <div id="header"
            </div>
            
            <?php include($_GET['webpage']) ?>
            
            <div id="footer">
            </div>
            </body>
            </html>
            

            然后您将始终只调用同一个页面

            http://www.mywebsite.com/index.php?webpage=team
            

            然后您创建一个带有 mod rewrite 的 .htaccess 以将您的 url 更改为

            http://www.mysite/team/
            

            仅仅显示一个页面似乎有点牵强,但是通过花一些时间来开发结构和调用所有页面的标准方法,您将更好地控制您的模板,节省编码时间并拥有每页都有页眉和页脚。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-12-24
              • 2013-04-08
              • 2018-10-22
              • 1970-01-01
              • 2020-11-30
              相关资源
              最近更新 更多