Установка в некорневую директорию
Модератор: immortal
-
- Сообщения: 12
- Зарегистрирован: Сб май 16, 2015 11:50 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Установка в некорневую директорию
В моем случае 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">
или я что-то не так делаю?
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
Так если у Вас на сервере MDM не единственная, добавьте на свой сервер виртуальный хост указав расположение файлов как необходимо, а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP. Подробнее про виртуальные хосты тут, а про hosts тут.
Тогда и никакие файлы не нужно будет править.
Тогда и никакие файлы не нужно будет править.
-
- Сообщения: 12
- Зарегистрирован: Сб май 16, 2015 11:50 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: base href в страницах MD
А также на планшетах, ноутбуке и тройке телефонов? Или собственный DNS поднимать? Проще уж на отдельный порт повесить. Но все равно, как то неюзабельно.warik писал(а): а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP.
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: base href в страницах MD
Ну сделайте тогда обратное. Сайт который по умолчанию на 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
И ещё... В конфиге у Вас какой "BASE_URL" указан? Может проблема в этом? Ну и про "SERVER_ROOT" тоже не стоит забывать.
-
- Сообщения: 12
- Зарегистрирован: Сб май 16, 2015 11:50 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: base href в страницах MD
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 не умеет работать вне корня вебсервера.
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
Умеет. В config.php есть ещё настройка ROOTHTML -- её поменять на нужную и должно всё работать.
- Рейтинг: 1.16%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 12
- Зарегистрирован: Сб май 16, 2015 11:50 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: base href в страницах MD
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:
Вопрос по строкам конфига пока актуален.
А есть развернутое описание файла конфиг?
А то рядом со строчками:
Define('BASE_URL', 'http://192.168.1.1/md/');
Define('SERVER_ROOT', '/md/')
Define('ROOT', DOC_ROOT."/");
комментов нету. Непонятно на что они влияют, нужно ли задавать URL/ относительный путь/абсолютный путь?
Пока на основной странице вижу 2 фрейма 404.
Поковыряем...
Update:
Простите, отнял драгоценное время у людей... самому стыдно. У меня ж lighttpd. он .htaccess не ест.
Update2:
Вопрос по строкам конфига пока актуален.
-
- Сообщения: 12
- Зарегистрирован: Сб май 16, 2015 11:50 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Установка в некорневую директорию
Пока как то не очень..sergejey писал(а):Умеет. В config.php есть ещё настройка ROOTHTML -- её поменять на нужную и должно всё работать.
добавил rewrite в конфиг lighttpd
Код: Выделить всё
$HTTP["host"] =~ "(.*)" {
url.rewrite-if-not-file = ( "\.html$" => "/md/nf.php", "\.xml$" => "/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: Установка в некорневую директорию
Я с lighthttpd не очень дружу...
как вариант, попробовать в nf.php в начало добавить
$_SERVER["REQUEST_URI"]=str_replace('/md/','/',$_SERVER["REQUEST_URI"]);
как вариант, попробовать в nf.php в начало добавить
$_SERVER["REQUEST_URI"]=str_replace('/md/','/',$_SERVER["REQUEST_URI"]);
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги