我有一个带有shtml扩展名的网站,主要是为了让菜单导航栏与SSI一起显示。我现在正在添加一个带有php的页面,并且为了使这个页面正常工作,我已经给它一个php扩展,这导致菜单不再显示。我也坦率地发现shtml扩展对于大多数使用我网站的人来说都是一个奇怪的扩展。如果可能的话,我想更改所有页面的php扩展名,但如果我不再使用shtml扩展名,如何重新格式化我的SSI以正确显示?
目前感兴趣的代码是<!--#include virtual="/Navbar.shtml" -->
答案 0 :(得分:0)
<!--#include virtual="/Navbar.shtml" -->
到
<?php require '/Navbar.php' ?>
答案 1 :(得分:0)
如果使用SSI包含本地文件,则将使用静态源文件 - 在本例中为未解析的 PHP源代码。
您必须执行远程包含才能使其工作(类似<!--#include virtual="http://localhost/Navbar.shtml" -->
,具体取决于服务器配置)。这不是最佳选择,因为启动了新的服务器请求和PHP实例。
最好放弃SSI,并使用PHP包含@Alin节目。
答案 2 :(得分:0)
只需将服务器端包含代码更改为
即可 <?php require "/Navbar.php" ?>
并将Navbar.shtml
重命名为Navbar.php
需要表示存在错误,如果Navbar.php丢失,页面根本不会加载。 您也可以使用类似的include,但允许加载页面。有关include和require的更多信息,请阅读以下手册页。
http://www.php.net/manual/en/function.include.php
http://php.net/manual/en/function.require.php
希望这会有所帮助:)