这行代码有没有一种方法可以工作于标题(“Location:../login.php”);

这行代码有没有一种方法可以工作于标题(“Location:../login.php”);,php,html,authentication,redirect,header,Php,Html,Authentication,Redirect,Header,我正在尝试使用标题(“位置:../login.php”)将我重定向到login.php 我尝试了以下方法: http://localhost/willie/assets/php/login.php-标题(“位置:login.php”) 错误404 http://localhost/willie/assets/php/login.php-标题(“位置:./login.php”) 错误404 http://localhost/willie/assets/login.php-标题(“位置:../lo

我正在尝试使用
标题(“位置:../login.php”)将我重定向到
login.php

我尝试了以下方法:


  • http://localhost/willie/assets/php/login.php
    -
    标题(“位置:login.php”)
    
    错误404


  • http://localhost/willie/assets/php/login.php
    -
    标题(“位置:./login.php”)
    
    错误404

  • http://localhost/willie/assets/login.php
    -
    标题(“位置:../login.php”)
    
    错误404

  • http://localhost/willie/assets/php/.../login.php
    -
    标题(“位置:…/login.php”)
    
    错误403


如何删除(资产)以便访问文件
login.php

您可以使用此代码,尽管您可能需要更新登录页面的路径,因为您没有明确哪个路径是正确的

$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? "https://" : "http://";
header("Location: " . $protocol . $_SERVER['HTTP_HOST'] . "/willie/assets/php/login.php");
exit();
确保在报头后调用exit

我通常先存储主机,然后以常量存储登录页面的路径,这样更清晰

header("Location: " . APP_URL . LOGIN_PAGE);

您可以使用JavaScripteHeader(“位置:“.$\u服务器['HTTP\u主机].”/willie/assets/php/login.php”);exit();-错误404登录页面的实际路径是什么?“/willie/assets/php/login.php”我刚刚意识到发生了什么,因为没有协议集,它将其附加到currect url。我已经更新了我的答案。