是否有任何方法可以强制更改地址栏上的 URL(从而有望解决相对路径问题)?还是我做错了什么?P/S:我使用的是 jQuery Mobile.这是我的重定向代码,不会更改 URL://其他一些未显示的东西$sql = "SELECT * FROM $user_table WHERE email = '$myemail' AND password = '$mypassword'";$login_result = mysql_query($sql, $connection);$count = mysql_num_rows($login_result);如果 ($count == 1) {//成功验证登录信息session_start();如果 (!isset($_SESSION['is_logged_in'])) {$_SESSION['is_logged_in'] = 1;}如果 (!isset($_SESSION['email'])) {$_SESSION['email'] = $myemail;}如果 (!isset($_SESSION['password'])) {$_SESSION['password'] = $mypassword;}//注册用户名和IDif ((!isset($_SESSION['name'])) && (!isset($_SESSION['user_id']))) {$row = mysql_fetch_assoc($login_result);$_SESSION['name'] = $row['name'];$_SESSION['user_id'] = $row['user_id'];}header("位置:http://localhost:8080/meet2eat/index.php");} 别的 {//未登录.重定向回登录页面header("位置:http://localhost:8080/meet2eat/php/login.php?err=1");} 解决方案 尝试改变:header("位置:blabla")^|(空格)到header("位置:blabla")I'm currently working on a mobile site with authentication using PHP sessions with a database.I have a login page with a form that goes to server_login.php on submit. The php file then creates some session data (store in $_SESSION), and redirects the user back to the index page:header("location:../../index.php");The new web page (index.php) loads correctly; however, when the header redirects the page, the URL at the address bar is not changed; it stays at *http://localhost/php/server/server_login.php* instead of http://localhost/index.php and thus all my other resources that makes use of relative pathing could not be loaded. It's as if the web page still thinks that it resides at /php/server instead of /.Strangely, my other use of header("location: ...") at logout.php works and redirects the page successfully with a URL change.I've made sure that there are no outputs in my *server_login.php* before the header redirect (above it are just mysql calls to check) and I've used ob_start() and ob_end_flush() too.Are there any methods of forcing the URL on the address bar to change (and thus hopefully fix the relative path problem)? Or am I doing something wrong?P/S: I am using jQuery Mobile.EDIT: Here's my code for the redirection that doesn't change the URL:// some other stuff not shown$sql = "SELECT * FROM $user_table WHERE email = '$myemail' AND password = '$mypassword'";$login_result = mysql_query($sql, $connection);$count = mysql_num_rows($login_result);if ($count == 1) { // Successfully verified login information session_start(); if (!isset($_SESSION['is_logged_in'])) { $_SESSION['is_logged_in'] = 1; } if (!isset($_SESSION['email'])) { $_SESSION['email'] = $myemail; } if (!isset($_SESSION['password'])) { $_SESSION['password'] = $mypassword; } // Register user's name and ID if ((!isset($_SESSION['name'])) && (!isset($_SESSION['user_id']))) { $row = mysql_fetch_assoc($login_result); $_SESSION['name'] = $row['name']; $_SESSION['user_id'] = $row['user_id']; } header("Location: http://localhost:8080/meet2eat/index.php");} else { // Not logged in. Redirect back to login page header("Location: http://localhost:8080/meet2eat/php/login.php?err=1");} 解决方案 Try changing:header("Location : blabla") ^ | (whitespace)Toheader("Location: blabla") 这篇关于PHP 标头(位置:...):强制地址栏中的 URL 更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!