0

所以我制作了一个脚本,这样我就可以使用包含来获取我的页眉、页面和页脚。如果文件不存在,则为 404。一切正常。现在我的问题是我应该如何将 url 的结尾作为页面。例如,

我想这样做,以便当有人访问 example.com/home/test 时,它会自动包含 test.php 例如。

故事的道德启示。如何获取页面名称。然后用它来“屏蔽”页面的结尾,这样我就不需要让每个 URL 都是 something.com/home/?p=home

到目前为止,这是我的代码。

<?php 
include($_SERVER['DOCUMENT_ROOT'].'/home/lib/php/_dc.php');
include($_SERVER['DOCUMENT_ROOT'].'/home/lib/php/_home_fns.php');

$script   = $_SERVER['SCRIPT_NAME']; //This returns /home/index.php for example =/
error_reporting(E_ALL);
include($_SERVER['DOCUMENT_ROOT'].'/home/default/header.php');
if($_GET["p"] == 'home' || !isset($_GET["p"])) {
    include($_SERVER['DOCUMENT_ROOT'].'/home/pages/home.php');
} else if(file_exists($_SERVER['DOCUMENT_ROOT'].'/home/pages/'.$_GET["p"].'.php'))      {
    include($_SERVER['DOCUMENT_ROOT'].'/home/pages/'.$_GET["p"].'.php');    
} else {
    include($_SERVER['DOCUMENT_ROOT'].'/home/default/404.php'); 
}
include($_SERVER['DOCUMENT_ROOT'].'/home/default/footer.php');
?>
4

2 回答 2

1

PHP 本身不会是这里的最佳选择,除非您希望您的网站到处都是空的“重定向”PHP 文件。我建议查看 Apache 服务器的mod_rewrite模块。这里有一些指南可以帮助您入门。希望这可以帮助!

于 2012-09-13T22:21:23.757 回答
0

最简单的方法是在 /home/whatever 文件夹中有一个 index.php 文件。然后使用 $_SERVER['PHP_SELF'] 之类的东西并提取名称,如果您想自动化它,或者由于您已经自己编写文件,请将其硬编码到其中。

然而,这看起来完全错误,如果您打算创建一个更复杂/更严肃的应用程序,您可能应该研究 mod-rewrite。

我还推荐 cakePHP 框架,它可以解决整个控制器路径。

于 2012-09-13T22:25:28.737 回答