Установка в некорневую директорию

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Tohin
Сообщения: 12
Зарегистрирован: Сб май 16, 2015 11:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Установка в некорневую директорию

Сообщение Tohin » Пт июн 05, 2015 11:54 pm

В моем случае MD не единственный на web-сервере, и обращаюсь я к нему по адресу:
http://192.168.1.1/md/

В этом случае страница нормально не отображается, и ссылки прописываются неправильно (например на панель управления http://192.168.1.1/admin.php вместо http://192.168.1.1/md//admin.php)

Проблему решить достаточно просто, во все выводимые скрипты в <head> добавить вывод <base href=""> с подстановкой, допустим BASE_URL из конфига.

UPD:
Хотя нет.. придется править все ссылки из вида:
<img id="leftPanelToggleIcon" border="0" src="/img/icons/application-side-contract-icon.png">
в относительные пути:
<img id="leftPanelToggleIcon" border="0" src="img/icons/application-side-contract-icon.png">

или я что-то не так делаю?
Последний раз редактировалось Tohin Вт июн 09, 2015 9:14 pm, всего редактировалось 1 раз.
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: base href в страницах MD

Сообщение savenko_egor » Сб июн 06, 2015 10:51 pm

Так если у Вас на сервере MDM не единственная, добавьте на свой сервер виртуальный хост указав расположение файлов как необходимо, а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP. Подробнее про виртуальные хосты тут, а про hosts тут.
Тогда и никакие файлы не нужно будет править.
Tohin
Сообщения: 12
Зарегистрирован: Сб май 16, 2015 11:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: base href в страницах MD

Сообщение Tohin » Вс июн 07, 2015 2:16 pm

warik писал(а): а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP.
А также на планшетах, ноутбуке и тройке телефонов? Или собственный DNS поднимать? Проще уж на отдельный порт повесить. Но все равно, как то неюзабельно.
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: base href в страницах MD

Сообщение savenko_egor » Вс июн 07, 2015 2:33 pm

Ну сделайте тогда обратное. Сайт который по умолчанию на 192.168.1.1 перенесите в папку http://192.168.1.1/site/, а MDM в корень http://192.168.1.1/
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: base href в страницах MD

Сообщение savenko_egor » Вс июн 07, 2015 2:35 pm

И ещё... В конфиге у Вас какой "BASE_URL" указан? Может проблема в этом? Ну и про "SERVER_ROOT" тоже не стоит забывать.
Tohin
Сообщения: 12
Зарегистрирован: Сб май 16, 2015 11:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: base href в страницах MD

Сообщение Tohin » Вс июн 07, 2015 9:01 pm

Define('SERVER_ROOT', '/www/md/');

if ($_ENV["S2G_BASE_URL"]) {
Define('BASE_URL', $_ENV["S2G_BASE_URL"]);
} else {
Define('BASE_URL', 'http://192.168.1.1/md/'); // Your base URL:port (!!!)
}

var_dump (BASE_URL) сказал все правильно:
string(22) "http://192.168.1.1/md/"

Видимо MD не умеет работать вне корня вебсервера. :(
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: base href в страницах MD

Сообщение sergejey » Пн июн 08, 2015 8:55 am

Умеет. В config.php есть ещё настройка ROOTHTML -- её поменять на нужную и должно всё работать.
За это сообщение автора sergejey поблагодарил:
Tohin (Пн июн 08, 2015 7:45 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Tohin
Сообщения: 12
Зарегистрирован: Сб май 16, 2015 11:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: base href в страницах MD

Сообщение Tohin » Пн июн 08, 2015 7:45 pm

Define('ROOTHTML', "/md/"); #помогло вроде.
А есть развернутое описание файла конфиг?

А то рядом со строчками:
Define('BASE_URL', 'http://192.168.1.1/md/');
Define('SERVER_ROOT', '/md/')
Define('ROOT', DOC_ROOT."/");

комментов нету. Непонятно на что они влияют, нужно ли задавать URL/ относительный путь/абсолютный путь?
Пока на основной странице вижу 2 фрейма 404.
Поковыряем...

Update:
Простите, отнял драгоценное время у людей... самому стыдно. У меня ж lighttpd. он .htaccess не ест.

Update2:
Вопрос по строкам конфига пока актуален.
Tohin
Сообщения: 12
Зарегистрирован: Сб май 16, 2015 11:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Установка в некорневую директорию

Сообщение Tohin » Вт июн 09, 2015 9:43 pm

sergejey писал(а):Умеет. В config.php есть ещё настройка ROOTHTML -- её поменять на нужную и должно всё работать.
Пока как то не очень..
добавил rewrite в конфиг lighttpd

Код: Выделить всё

$HTTP["host"] =~ "(.*)" {
url.rewrite-if-not-file = ( "\.html$" => "/md/nf.php", "\.xml$" => "/md/nf.php" )
}
 
но при запросе например http://192.168.1.1/md/menu.html идет выполнение http://192.168.1.1/md/nf.php при этом
$_SERVER["REQUEST_URI"] содержит '/md/menu.html'
и вариант (строка 52):

Код: Выделить всё

"/^\/menu\.html/is"                => '?(application:{action=menu})', 
не срабатывает.
Я опять не то делаю?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Установка в некорневую директорию

Сообщение sergejey » Ср июн 10, 2015 10:24 am

Я с lighthttpd не очень дружу...
как вариант, попробовать в nf.php в начало добавить
$_SERVER["REQUEST_URI"]=str_replace('/md/','/',$_SERVER["REQUEST_URI"]);

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить