#apache #filesystems #elgg
#apache #файловые системы #элгг
Вопрос:
Я использую Elgg — платформу социальных сетей с открытым исходным кодом для одного из своих проектов. Мне приходится много настраивать, проблема в том, что я не понимаю, как работает его файловая система!
Проект находится в папке localhost/elgg.
Теперь внутри браузера есть ссылки на /register/index.php и /blog/index.php . Но внутри фактического каталога проекта (/elgg) на моем сервере нет ни одного с именем /register или /blog .
Как это вообще возможно? Как мне найти папки?
Комментарии:
1. Какую версию Elgg вы используете?
2. Последняя версия (1.8). Я все еще не могу понять, где находятся все файлы.
Ответ №1:
Чтобы подробнее остановиться на ответе @emaillenin: Elgg использует переписывание URL-адресов.. большинство просмотров страниц elgg выполняются обработчиком главной страницы, найденным в
<installdir>/engine/handlers/page_handler.php
который вызывает page_handler($handler, $page)
функцию, определенную в
<installdir>/engine/lib/pagehandler.php
Конечно, вам придется копать глубже, чтобы найти то, что генерирует register/index.php контент — одно из мест, с которого следует начать поиск, — это elgg_register_page_handler()
звонки..
например, индекс блога регистрируется в системе elgg_register_page_handler('blog', 'blog_page_handler');
Элгга через
<installdir>/mod/blog/start.php
Этот же файл также содержит blog_page_handler()
функцию…
Если вы разрабатываете плагин, стоит взглянуть на вики-статью Elgg’s PageHandler
Ответ №2:
Я думаю, что Elgg сам переписывает URL, который перенаправляет /register/index.php и /blog/index.php к разным файлам в системе.
Проверьте, есть ли что-нибудь в файле .htaccess, или elgg может перенаправлять страницы внутри.