Страница 1 из 2

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

Добавлено: Пт июн 05, 2015 11:54 pm
Tohin
В моем случае 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">

или я что-то не так делаю?

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

Добавлено: Сб июн 06, 2015 10:51 pm
savenko_egor
Так если у Вас на сервере MDM не единственная, добавьте на свой сервер виртуальный хост указав расположение файлов как необходимо, а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP. Подробнее про виртуальные хосты тут, а про hosts тут.
Тогда и никакие файлы не нужно будет править.

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

Добавлено: Вс июн 07, 2015 2:16 pm
Tohin
warik писал(а): а у себя на компьютере в файл hosts добавьте указание что такой-то домен - на таком-то IP.
А также на планшетах, ноутбуке и тройке телефонов? Или собственный DNS поднимать? Проще уж на отдельный порт повесить. Но все равно, как то неюзабельно.

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

Добавлено: Вс июн 07, 2015 2:33 pm
savenko_egor
Ну сделайте тогда обратное. Сайт который по умолчанию на 192.168.1.1 перенесите в папку http://192.168.1.1/site/, а MDM в корень http://192.168.1.1/

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

Добавлено: Вс июн 07, 2015 2:35 pm
savenko_egor
И ещё... В конфиге у Вас какой "BASE_URL" указан? Может проблема в этом? Ну и про "SERVER_ROOT" тоже не стоит забывать.

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

Добавлено: Вс июн 07, 2015 9:01 pm
Tohin
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 не умеет работать вне корня вебсервера. :(

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

Добавлено: Пн июн 08, 2015 8:55 am
sergejey
Умеет. В config.php есть ещё настройка ROOTHTML -- её поменять на нужную и должно всё работать.

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

Добавлено: Пн июн 08, 2015 7:45 pm
Tohin
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:
Вопрос по строкам конфига пока актуален.

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

Добавлено: Вт июн 09, 2015 9:43 pm
Tohin
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})', 
не срабатывает.
Я опять не то делаю?

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

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