изменить корень документа во всех ссылках веб-сайта

У меня есть сайт, сделанный с cakephp. Большинство ссылок в нем и путей ресурсов являются абсолютными (начинаются с «/»).

У нас возникли некоторые проблемы с нашим хостинг-провайдером, и некоторые домены перепутались, в том числе и для этого веб-сайта. Мне удалось получить к нему доступ через другой домен, но теперь веб-сайт находится не в корне документа домена (как это было с исходным доменом), а в нескольких папках (что-то вроде mydomain.com/folder1/ папка2/папка3/мой_индекс.php).

Есть ли простой способ сделать так, чтобы все те ссылки/пути, которые теперь начинаются с «/», указывали на нужную мне папку (например, mydomain.com/folder1/folder2/folder3/) вместо того, что происходит сейчас? (они указывают на mydomain.com)


person Albert    schedule 08.04.2014    source источник


Ответы (1)


Да, вам нужен HTML-тег <base>. Используйте это так:

<head>
    <base href="http://mydomain.com/folder1/folder2/folder3/">
</head>

Вы также можете сделать так, чтобы все ваши ссылки открывались в новом окне, добавив атрибут target="_blank" к базовому тегу.

Ссылка MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

person AlienWebguy    schedule 08.04.2014
comment
спасибо за ваш ответ, но я не могу заставить его работать со ссылками/путями, начинающимися с /, только с теми, которые начинаются без /. Так вот с <img src="my/path/image.jpg"> работает, а с <img src="/my/path/image.jpg"> нет. Есть идеи, почему? Или это просто так не должно работать? - person Albert; 08.04.2014
comment
Правильно, потому что /my/path — это абсолютный путь, где / — корень домена. my/path — это относительный путь, который будет использовать интерпретируемый или определенный корень документа и будет использовать тег <base>. - person AlienWebguy; 08.04.2014