Как прописать уникальный относительный урл для любых вложенностей каталогов сайта?

A
На сайте с 22.04.2009
Offline
72
713

Уважаемые Гуру Вебстроительства, помогите найти вариант, в котором, допустим, вставляя тот же инклуд

include 'page.html'

он работал не только в главной дирректории, но работал даже на странице размещённой где-то даааалеко, например - /catalog/razdel/model/version/price/ :)

Пробовал такие варианты:


include '/page.html'
include './page.html'
include '../page.html'
include '../../page.html'
include './././././page.html'
include '../../../../../page.html'

Ни один не работает. Некоторые срабатывают только если уровень вложенности совпадает, но чтобы из любой дирректории никак.

Прописывать полный урл с http:// не годится, нужно чтобы урл был относительный, прошу помочь в поиске решения.

p.s. С Новым Годом всех :beer:

dendav
На сайте с 18.03.2010
Offline
51
#1

По хорошему, нужно в конфиге определить константу, определяющую путь до корневой директории скрипта. Что-то вроде:

define('MY_ROOT', str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']) .'/');

После чего все пути в скрипте нужно переписать с учётом этого:

include MY_ROOT.'page.html';
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2

include ($_SERVER['DOCUMENT_ROOT'].'/page.html');

где $_SERVER['DOCUMENT_ROOT'], это путь до папки www на вашем хосте.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
gormarket
На сайте с 29.12.2010
Offline
47
#3

если скрипт запускается из командной строки или кроном то значение $_SERVER['DOCUMENT_ROOT'] не устанавливается

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий