php - 地址栏不变 - PHP

标签 php apache mod-rewrite wamp

我正在使用 header('Location:') 将用户重定向到另一个网页。但是,不是覆盖地址栏上的先前地址,而是将新地址附加到已经存在的地址上。例如:

地址栏当前包含:

localhost/v2/admin

还有 header('Location:'.DIRADMIN.'login.php'); 其中 DIRADMIN 是定义为的常量

define(DIRADMIN,'localhost/v2/admin/');

然后,在重定向之后,新的地址栏将是

localhost/v2/admin/localhost/v2/admin/login.php

我以为是服务器的问题,我正在使用。我使用的是统一服务器零。但后来我安装了 WAMP,问题仍然存在。

我还是个菜鸟,我不知道是什么原因造成的,如果问题是因为 mod_rewrite,那么两台服务器上的模块都处于事件状态。我已经检查了一些问题,比如 redirect-PHP header(Location:..)

等等。我什至用谷歌搜索了这个,但没有结束。 我该如何解决这个问题?

header_remove();

将不起作用,因为第一个地址是手动输入的,不是由 header();

设置的

最佳答案

如果没有 http 前缀,浏览器将尝试查找相对于当前路径的路径

这样添加“http://”

header('Location: '.DIRADMIN.'login.php');

如果你想让URL相对于你的域根路径,你可以只添加'/'

header('Location: /'.DIRADMIN.'login.php');

您应该始终尝试使用相对路径 - 这样,如果您更改域,您的代码仍然有效。

关于php - 地址栏不变 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31053609/

相关文章:

php - strpos/stripos(严格比较)失败

php - 通过 GET 参数在后台执行 PHP

php - 动态 mod_rewrite 或如何规划动态网站

Javascript:根据输入匹配数据列表选项

php - 在 Xcode 6.4 中从服务器获取当前日期和时间时出现问题

javascript - 如何在 JS/jQuery 中编写这个 php 数组函数?

.htaccess - 通过 URL 重写创建 SEO 友好的 URL

apache - 在 CentOS 7 上设置 mod_proxy_html

php - 如何将 Android 应用程序连接到外部托管服务器上正在运行的 MySQL 数据库

php - .htaccess 文件有一些异常(exception)