我正在使用标题('位置:')将用户重定向到另一个网页。但是,不是覆盖地址栏上的先前地址,而是将新的地址附加到已存在的地址。例如:
地址栏目前持有:
localhost/v2/admin
并且有header('Location:'.DIRADMIN.'login.php');
其中DIRADMIN是一个定义为
define(DIRADMIN,'localhost/v2/admin/');
然后,在重定向之后,新的地址栏将是
localhost/v2/admin/localhost/v2/admin/login.php
我认为这是因为服务器,我正在使用。我正在使用Uniform Server Zero。但后来我安装了WAMP,问题还在继续。
我仍然是一个菜鸟,我不知道是什么导致这个,如果问题是因为mod_rewrite,那么在两个服务器上模块都是活动的。我已经检查过一些问题了 redirect-PHP header(Location:..)
等。我甚至做了谷歌搜索,但没有尽头。 我该如何解决这个问题?
header_remove();
不起作用,因为第一个地址是手动输入的,而不是由header();
答案 0 :(得分:7)
如果没有http前缀,浏览器会尝试查找相对于当前路径的路径
添加" http://"如此
header('Location: '.DIRADMIN.'login.php');
如果您希望网址相对于您的域根路径,您只需添加' /'
header('Location: /'.DIRADMIN.'login.php');
您应该始终尝试使用相对路径 - 这样,如果您更改域名,您的代码仍然有效。
答案 1 :(得分:0)
定义
class MyTask extends DefaultTask {
@InputFile File input
@OutputFile File output
String conversion
@TaskAction void generate() {
def content = input.text
switch (conversion) {
case "lower":
content = content.toLowerCase()
break;
case "upper":
content = content.toUpperCase()
break;
}
output.write content
}
void setConversion(String conversion) {
this.inputs.property('conversion', conversion)
this.conversion = conversion
}
}
作为
define('DIRADMIN','localhost/v2/admin/);