获取页面URL以便使用它来包含

时间:2012-09-13 22:16:00

标签: php include

所以我创建了一个脚本,以便我可以使用includes来获取标题,页面,然后是页脚。如果一个文件不存在404.那一切都有效。现在我的问题是我应该如何得到网址的结尾。例如,

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

故事的道德。如何获取页面名称。然后使用它来“掩盖”页面的末尾,这样我就不需要将每个URL都放在/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');
?>

2 个答案:

答案 0 :(得分:1)

PHP本身不是最佳选择,除非您希望您的网站散落着空的“重定向”PHP文件。我建议查看Apache服务器的mod_rewrite模块。这里有couple guides来帮助您入门。希望这有帮助!

答案 1 :(得分:0)

最简单的方法是在/ home / whatever文件夹中包含一个index.php文件。然后使用$ _SERVER ['PHP_SELF']这样的名称,如果你想自动化它,或者因为你已经自己编写了文件,就把它硬编码进去。

然而,如果您想创建一个更复杂/更严肃的应用程序,那么您应该考虑使用mod-rewrite。

我还建议使用cakePHP框架来完成整个路径到控制器的工作。

相关问题