여기 내 웹 사이트의 폴더 구조 :header()가 나를 올바르게 리디렉션하지 않는 이유는 무엇입니까?
myweb/
index.php
files/
autoloader.php
login.php
그리고 여기 내 스크립트입니다
// login.php
class login{
public function __construct() {
function signed(){
header('Location: ../');
exit;
}
}
public function index(){
echo isset($_SESSION['error_message']) ? $_SESSION['error_message'] : null;
if ($_SESSION['login'] == 1) {
signed();
}
$_SESSION['login'] = 1;
if ($_SESSION['login'] == 1) {
$_SESSION['error_message'] = 'something is wrong';
header('location: ../login');
}
}
}
나는이 경로로드 할 때 :
: 여기localhost/myweb/login
을 이가지 경우입니다
$_SESSION['login']
는1
과 같다 :localhost/myweb
$_SESSION['login']
이1
에 동일하지 않다 :localhost
첫 번째 경우는 괜찮습니다, 나는 그것이 의미 : 내 스크립트가이 경로에 저를 리디렉션 내 스크립트가이 경로에 저를 리디렉션 예상대로 작동합니다. 하지만 두 번째 경우가 잘못되었습니다. 예상대로 작동하지 않습니다. 두 번째 경우에는이 경로로 나를 리디렉션해야합니다 : localhost/myweb/login
. 어떻게 해결할 수 있습니까?
참고 : 모든 페이지는 index.php
을 통해 전달됩니다.
시험해보기 : header ('location :/login'); – CrazyVK56
@ user4887505 틀린 .. 당신의 경우에 그것은'localhost/login'이 잘못된 경로로 리디렉션됩니다. –
"localhost/myweb/login"경로를로드하고 $ _SESSION [ 'login']이 (가) 과 같지 않은 경우 이미 로그인 파일에 있으므로 페이지를 리디렉션하는 이유는 무엇입니까? – CrazyVK56