Как работает файловая система Apache?

#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 может перенаправлять страницы внутри.