所以我想将目录中的页面(例如auth/login.php
)重定向到auth/
的另一个页面。该页面实际上称为auth/index.php
,但我不希望它显示给客户端。如何使用此PHP代码执行此操作:
header("Location: /auth/");
但是,我希望文件名是相对的,例如../
代替硬编码为auth
。这有可能,怎么样?
答案 0 :(得分:1)
要将用户定向到当前目录,您应该从$_SERVER['SCRIPT_NAME']
中提取脚本的目录,然后将其与实际的HTTP请求($_SERVER['REQUEST_URI']
)进行比较。如果它们不相同 - 重定向到当前目录。如果它们相同 - 您应该开始实际的脚本:
<?php
$currentScript = $_SERVER['SCRIPT_NAME'];
$pathInfo = pathinfo($currentScript);
$currentDir = $pathInfo['dirname'].'/';
if ($currentDir != $_SERVER['REQUEST_URI'])
{
header('Location: '.$currentDir);
return ;
}
// Here be real site data