【问题标题】:PHP creates relative link issuePHP创建相对链接问题
【发布时间】:2018-07-20 08:48:24
【问题描述】:

我有一些 PHP 代码创建一个 cookie 并将 URL 的一部分保存为一个值,然后调用为链接的一部分。问题是我做什么并不重要,当我需要链接到不同的域时,链接包含相对路径。

if (!(isset($_COOKIE['my_cookie']) || isset($_COOKIE['other_cookie']))) {
    if (is_page([2641,2998,2949])) {

    $this_cookie = "my_cookie";

    $cookie_value = (!empty($_SERVER['HTTPS']))
    ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] 
    : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

    $path = "/";

    setcookie($my_cookie, strstr($cookie_value, '?'), time() + (86400 * 28), $path);

    $url_link = "https://newdomain/" . $cookie_value;
    }

cookie_value 是 '?myaddress/tobe/included'

链接变为:https://newdomain/https://oldomain/?myaddress/tobe/included

非常感谢任何帮助。

【问题讨论】:

  • 有什么问题?网址链接中还有另一个https:/
  • 也许使用正确的格式? https:/newdomain/ -> https://newdomain/
  • @kerbholz 请原谅错别字。我编辑了它们。无论出于何种原因,当需要转到另一个网页/地址(新域)时,该链接只想包含当前 URL(oldomain)。它吐出两个网址
  • 您说$cookie_value?myaddress/tobe/included,但这是不对的——您在发布代码的第 7-8 行将其设置为完整地址。
  • @zenzelezz 是的,所以我抓取了整个地址,然后在设置 cookie 时将其删除

标签: php hyperlink relative-path


【解决方案1】:

以下解决了这个问题。

 $ppc_value = strstr((!empty($_SERVER['HTTPS']))
        ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] 
        : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'], '?');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多