将shtml页面更改为php

将shtml页面更改为php,php,navbar,shtml,Php,Navbar,Shtml,我有一个带有shtml扩展的页面的站点,主要是为了让菜单导航栏与SSI正确显示。我现在添加了一个带有php的页面,为了让这个页面正常工作,我给了它一个php扩展,这会导致菜单不再显示。坦率地说,对于大多数使用我的网站的人来说,shtml扩展也是一个奇怪的扩展。如果可能的话,我想为所有页面更改为php扩展,但是如果我不再使用shtml扩展,如何重新格式化我的SSI以正确显示 当前感兴趣的代码是 到 如果使用SSI包含本地文件,将使用静态源文件—在本例中,使用未解析的PHP源代码 您必须执行远程包

我有一个带有shtml扩展的页面的站点,主要是为了让菜单导航栏与SSI正确显示。我现在添加了一个带有php的页面,为了让这个页面正常工作,我给了它一个php扩展,这会导致菜单不再显示。坦率地说,对于大多数使用我的网站的人来说,shtml扩展也是一个奇怪的扩展。如果可能的话,我想为所有页面更改为php扩展,但是如果我不再使用shtml扩展,如何重新格式化我的SSI以正确显示

当前感兴趣的代码是



如果使用SSI包含本地文件,将使用静态源文件—在本例中,使用未解析的PHP源代码

您必须执行远程包含才能使其工作(类似于
,具体取决于服务器配置)。这不是最优的,因为启动了一个新的服务器请求和一个PHP实例


为此最好删除SSI,并使用@Alin显示的PHP包含。

只需将服务器端包含代码更改为

并将
Navbar.shtml
重命名为
Navbar.php

Require表示存在错误,如果缺少Navbar.php,则根本无法加载页面。 您也可以使用include,这与此类似,但允许加载页面。请阅读以下手册页面,了解有关包含和要求的更多信息



希望这有帮助:)

我试着这样做,结果收到了一条错误消息:警告:require(/Navbar.php)[function.require]:打开流失败:第25行的/home/troop97/public_html/events.php中没有这样的文件或目录致命错误:require()[function.require]:未能在/home/troop97/public_html/events.php第25行上打开所需的“/Navbar.php”(include_path=.”.:/usr/lib/php:/usr/local/lib/php')。感谢您的快速及时响应-这是一个删除斜杠的问题,现在它似乎正在工作。为了确保我按照建议进行操作,我重命名了我的两个include(Navbar和footer)从shtml到php。然后我转到我的模板,并从包含虚拟。。。到php需要…-然后我保存了模板,并根据该模板更新了文件,然后上传了文件。我仍然会收到之前发布的错误消息。
<!--#include virtual="/Navbar.shtml" -->
<?php require '/Navbar.php' ?>