【问题标题】:Double Server Name With PHP Global Vars使用 PHP 全局变量的双服务器名称
【发布时间】:2015-11-20 15:44:57
【问题描述】:

我需要访问我的 IP 地址(当前在开发服务器上)才能创建非相对链接。

我在文档的开头声明了这一点:

$domain = $_SERVER['SERVER_ADDR'];

当我在 HTML 中间回显它时,就在链接之前,我得到了我的 IP 地址:

XXX.XX.XX.XXX

但是,当我尝试将其设置为导航栏中链接的 url 的基础时:

<a href="<?=$domain;?>/index.php">Home</a>

<a href="<? echo $domain;?>/index.php">Home</a>

我的 IP 翻了一番,弄乱了 URL:

XXX.XX.XX.XXX/XXX.XX.XX.XXX/index.php

我试过$_SERVER['HTTP_HOST']$_SERVER['SERVER_NAME']$_SERVER['DOCUMENT_ROOT'] 无济于事。

编辑: http:// / https:// 服务器不允许,目前无权访问服务器配置。

编辑 2: 解决方案: $domain = "http://" . $_SERVER['SERVER_ADDR'];

【问题讨论】:

    标签: php url hyperlink global-variables


    【解决方案1】:

    http://(或https://)放在链接的开头,使其绝对化

    可能您的链接没问题,但浏览器将它们理解为相对链接。

    【讨论】:

    • 服务器不允许。
    • 什么意思?您的链接在生成的 html 上应如下所示:<a href="http://xxx.xxx.xxx.xxx/index.php">Home</a>,您不需要服务器上的特殊权限即可。
    • 但他们没有。这就是为什么我要定位。当我尝试包含 http:// 时,服务器会抛出错误。
    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多