Home >Backend Development >PHP Tutorial >能获取到nginx 反向代理之前的URL吗?

能获取到nginx 反向代理之前的URL吗?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:29:532122browse

需求是要有个性域名,如 user1.abc.com
nginx中,开启了反向代理

<code>rewrite ^/article/show/id/([0-9]+)/?$  /article/show/uid/$uid/id/$1 break;
proxy_pass http://www.abc.com;</code>

这样浏览器中访问user1.abc.com/article/show/id/1 就不会跳转到www.abc.com/article/show/uid/user1/id/1了
获取当前页面的URL时获取到的是http://www.abc.com/article/show/uid/user1/id/1

<code>$url = "http://".$_SERVER['HTTP_HOST'];
    if(isset($_SERVER["REQUEST_URI"])){
        $url .= $_SERVER["REQUEST_URI"];
    }else{
        $url .= $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
    }
echo $url;</code>

除了JS能不能用PHP获取当前浏览器的中URL或者说是反向代理之前的URL?

回复内容:

需求是要有个性域名,如 user1.abc.com
nginx中,开启了反向代理

<code>rewrite ^/article/show/id/([0-9]+)/?$  /article/show/uid/$uid/id/$1 break;
proxy_pass http://www.abc.com;</code>

这样浏览器中访问user1.abc.com/article/show/id/1 就不会跳转到www.abc.com/article/show/uid/user1/id/1了
获取当前页面的URL时获取到的是http://www.abc.com/article/show/uid/user1/id/1

<code>$url = "http://".$_SERVER['HTTP_HOST'];
    if(isset($_SERVER["REQUEST_URI"])){
        $url .= $_SERVER["REQUEST_URI"];
    }else{
        $url .= $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
    }
echo $url;</code>

除了JS能不能用PHP获取当前浏览器的中URL或者说是反向代理之前的URL?

nginx 反代会自动把域名放到 headers 的 host 字段啊。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn