我试过几种方式呼应了绝对路径在href属性,但没有奏效。下面是一个简单的介绍我所谈论的。
我已经切头标记成head.php文件。我必须使用相同的头文件中的其他页面。由于文档根水平,为我所用相对路径,我没有得到短期图标。所以我决定在面向对象的方式使用绝对路径。
class Config {
public static $url = null;
public static $ext = null;
public function __construct()
{
self::$url = $_SERVER['DOCUMENT_ROOT'];
self::$ext = '/bcc-wd-batch1/imran17507/php/ecommerce/';
}
}
然后在head.php
:
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . '/bcc-wd-batch1/imran17507/php/ecommerce/vendor/autoload.php');
use Site\Utility\Config;
$config = new Config();
$url = "file:///".Config::$url.Config::$ext;
//Tried $url = Config::$url.Config::$ext; too
//echo $url;
?>
<--This is where I wan't to make the changes.-->
<link rel="apple-touch-icon" sizes="180x180" href="../../../medias/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="../../../medias/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="../../../medias/favicon/favicon-16x16.png">
<link rel="manifest" href="../../../medias/favicon/site.webmanifest">
<link rel="mask-icon" href="../../../medias/favicon/safari-pinned-tab.svg" color="#5bbad5">
而我在链接的标签试图变化:
1.
<?php
echo '<link rel="apple-touch-icon" sizes="180x180" href="'.$url.'medias/favicon/apple-touch-icon.png">';
echo '<link rel="icon" type="image/png" sizes="32x32" href="'.$url.'medias/favicon/favicon-32x32.png">';
echo '<link rel="icon" type="image/png" sizes="16x16" href="'.$url.'medias/favicon/favicon-16x16.png">';
echo '<link rel="manifest" href="'.$url.'medias/favicon/site.webmanifest">';
echo '<link rel="mask-icon" href="'.$url.'medias/favicon/safari-pinned-tab.svg" color="#5bbad5">';
echo '<meta name="msapplication-TileColor" content="#da532c">';
echo '<meta name="theme-color" content="#ffffff">';
?>
2.
<link rel="apple-touch-icon" sizes="180x180" href="<?=$url;?>medias/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?=$url;?>medias/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?=$url;?>medias/favicon/favicon-16x16.png">
<link rel="manifest" href="<?=$url;?>medias/favicon/site.webmanifest">
<link rel="mask-icon" href="<?=$url;?>medias/favicon/safari-pinned-tab.svg" color="#5bbad5">
现在我正式出来的方法。
所以,我想在href属性使用绝对路径。什么我不知道的是,在PHP的绝对路径和HTML绝对路径是不同的。
在PHP绝对路径
$_SERVER['DOCUMENT_ROOT'];
但在HTML绝对路径是:
href="/pages/index.php"
从字面上看,正斜杠(/)是回答我的问题,并尝试变化和寻找答案小时
同样,在HTML中的绝对路径,只是一个斜杠
我不知道这是否会帮助解决你的情况,但头里面可以设置base
标签,这意味着一切都将相对从那里被引用:
<head>
<title></title>
<base href="https://www.example.com/">
<link.....>
<script.....>
</head>