Как вы можете поместить все относительные URL в абсолютные URL, используя HTML DOM?
Мне нужно заменить все относительные URL на абсолютные URL веб-страницы, используя только HTML DOM. Возможно?
Я также использую yii2.
пример
Сайт: http://www.example.com/
<link href="/css/site.css" rel="stylesheet">
<a href="/page">Page</a>
Результат:
<link href="http://www.example.com/css/site.css" rel="stylesheet">
<a href="http://www.example.com/page">Page</a>
2 ответа
Решение
Установите для параметра $ circuit значение true, чтобы возвращать абсолютный URL-адрес, если вы хотите связать действие контроллера.
Url::to(['my_controller/action'], true);
http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html
Для файлов вы можете использовать это Html::a( $text, $url = null, $options = [] )
с опциями ниже
// A normal string. This will use the exact string as the href attribute
$url = 'images/logo.png'; // This returns href='images/logo.png'
// A string starting with a Yii2 alias
$url = '@web/images/logo.png' // This returns href='http://www.example.com/images/logo.png'
Вы пользуетесь помощью URL-помощника
при условии, что у вас есть CSS в /yii2/web/css
<?php
use yii\helpers\Url;
echo '<link href="' .Url::base() . '/css/site.css' .'" rel="stylesheet">';
при условии, что у вас есть css в /yii2/css
echo '<link href="' .Url::base() . '../css/site.css' .'" rel="stylesheet">';