【问题标题】:How to properly set URL for links and other assets [duplicate]如何正确设置链接和其他资产的 URL [重复]
【发布时间】:2017-03-16 00:02:48
【问题描述】:

我想在 header.php 文件中使用完整的 URL 来定位我的 css、js 和图像文件。这样当从另一个文件夹目录调用 header.php 文件时,它不会断开链接。

但是,我希望网站可以通过 http 和 https 访问,由用户在 Web 应用程序的个人资料设置中设置。

我开始在解决方案下面编写一些代码,但我不确定这是否是处理此问题的正确方法。

config.php

<?php
// use https
$use_https = true;
?>

header.php

<?php
if ($use_https == true) {
   $proto = "https://";
} else {
   $proto = "http://";
}
?>

  <a href="<?php print($proto . $_SERVER["SERVER_NAME"]); ?>/some-folder/">Link</a>

【问题讨论】:

  • 只使用无协议链接。 //someurl/path 浏览器会根据根站点加载的内容来判断
  • 无协议链接是否适用于所有现代浏览器?例如像 IE9 和更新版本?

标签: php


【解决方案1】:

最简单的方法就是这样做:

<a href="//<?php echo $_SERVER["SERVER_NAME"]); ?>/some-folder/">Link</a>

或者因为它在你自己的服务器上,所以:

<a href="/some-folder/">Link</a>

确保包含初始斜线,以便它相对于您网站的根目录,而不是当前页面(这将防止链接断开)。

话虽如此,如果您的网站使用 https,那么您最好始终使用 https,因为您 don't really have performance concerns anymore.

【讨论】:

  • 第二个示例中的初始斜线是否与 PHP 中的 require() 函数一起使用?我似乎收到了 500 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
相关资源
最近更新 更多