加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 编写链接而不包括协议

发布时间:2021-08-28 03:49:08 所属栏目:大数据 来源: https://www.jb51.cc
导读:我有一个可以在http和https协议中查看的网站,这里的问题是链接和资产必须反映网站被查看的协议. 一种解决方案是使用相对链接,但由于特殊原因,我不能使用相对链接,结果,我不得不寻找替代方案…… 我最近了解到你可以编写一个这样的链接,以便使用当前的协议:

我有一个可以在http和https协议中查看的网站,这里的问题是链接和资产必须反映网站被查看的协议.

一种解决方案是使用相对链接,但由于特殊原因,我不能使用相对链接,结果,我不得不寻找替代方案……

我最近了解到你可以编写一个这样的链接,以便使用当前的协议:

<a href="//www.example.net/test/">Test</a>

到目前为止,我一直在使用以下内容:

<?PHP

    // Get the current protocol
    $_PROTOCOL = $_SERVER['HTTPS']=='on' ? 'https://' : 'http://';

?>

<a href="<?PHP echo $_PROTOCOL; ?>www.example.net/test/">Test</a>

虽然第一个解决方案有效,但我最近才发现它不熟悉它是如何工作的以及它是否可靠.我知道旧的浏览器可能不喜欢它,但这并不困扰我,因为它只是非常古老的浏览器(显然).

当我尝试为我的某个网站生成站点地图时,网址的编写方式非常奇怪:

http://beta.example.net///venue/

代替

http://beta.example.net/venue/

为什么是这样?这是因为我使用的链接?

我的原始(PHP)解决方案是否更好,尽管有大量代码可以使用它?

解决方法:

您可以在任何想要使用常规URL的地方使用“//example.net”,它是符合标准§4.2的格式. RFC 3986.

但是,如果您仍希望以干净的方式更改URL的方案,则可以使用http_build_url:

http://php.net/manual/en/function.http-build-url.php

像这样:

http_build_url("http://yoururl.org", array('scheme'=>'https')); // changes to https://

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读