PHP:阻止直接访问页面

JD *_*cks 3 php http-status-code-404

我有一些页面,我不希望用户能够直接访问.

我有这个功能,我提出了哪些工作:

function prevent_direct_access()
{
    if($_SERVER['REQUEST_URI'] == $_SERVER['PHP_SELF'])
    {
        //include_once('404.php');
        header("Location: 404.php");
    }
}
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,URL不会改变但内容会改变.但是我想知道是否有一些东西我需要添加来告诉搜索引擎这是一个404而不是索引它.请记住,我不希望URL改变.

谢谢!

Gum*_*mbo 6

不要重定向,但发送404状态代码:

header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
exit;
Run Code Online (Sandbox Code Playgroud)