当有人到达我的网站时,我希望网址为 index.php?p = home
<?php
if (file_exists("pages/$p.php")) {
include("pages/$p.php");
}else{
header("Location: index.php?p=home");
}
?>
我需要将其显示在网址中,就像它们登陆该网页一样。现在写,它只是登陆我的索引页面,直到你点击一个链接打开。
我尝试使用标题位置进行此工作,但它不起作用...我也使用Include,它可以工作,但它不显示网址中的路径。我需要路径正确,就好像他们点击了主页链接一样。
答案 0 :(得分:0)
<?php
$p = $_GET['p'];
if (file_exists("pages/{$p}.php")) {
include("pages/{$p}.php");
}else{
if ($p != "home")
header("Location: index.php?p=home");
}
?>
请注意,此代码不安全,因为任何用户都可能用来访问隐藏文件和目录。
答案 1 :(得分:0)
我不知道你打算做什么,但这似乎是一个糟糕的方法。
将此添加到您的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");
}