地址栏没有改变 - PHP

时间:2015-06-25 14:44:35

标签: php apache mod-rewrite wamp

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

地址栏目前持有:

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();

设置的

2 个答案:

答案 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/);