我有一个可以在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)解决方案是否更好,尽管需要大量代码?