当有人到达我的网站时,我希望网址位于索引.php?p=首页
<?php
if (file_exists("pages/$p.php")) {
include("pages/$p.php");
}else{
header("Location: index.php?p=home");
}
?>
我需要它显示在 URL 中,就好像他们登陆该页面一样。 截至现在撰写时,它只是降落在我的索引页面上,直到您单击链接打开。
我尝试使用标题位置进行此操作,但它不起作用...我也使用了包含并且有效,但它没有显示 url 中的路径。我需要路径正确,就好像他们单击了主页链接一样。
我不知道
你打算做什么,但这似乎是一个糟糕的方法。
将此添加到您的index.php
:
Old answer
/*
if(!isset($_GET['p'])){
header("Location: index.php?p=home");
}
*/
编辑:
由于您的header()
函数似乎无法正常工作,因为可能在函数调用之前有任何输出,因此将答案更改为:
$page = basename($_SERVER['PHP_SELF']);
if($page=='index.php' && !isset($_GET['p'])){
echo '<meta HTTP-EQUIV="REFRESH" content="0; url=index.php?p=home">';
}
$p = (isset($_GET['p'])?$_GET['p']:'home');
if (file_exists("pages/{$p}.php")) {
include("pages/{$p}.php");
}
<?php
$p = $_GET['p'];
if (file_exists("pages/{$p}.php")) {
include("pages/{$p}.php");
}else{
if ($p != "home")
header("Location: index.php?p=home");
}
?>
请注意,此代码不安全,因为任何用户都可能用来访问隐藏的文件和目录。