我正在使用Elgg - 我的一个项目的开源社交网络框架。我必须自定义它,问题是我不明白它的文件系统是如何工作的!
该项目位于 localhost / elgg 文件夹中。
现在,在浏览器中,有指向 /register/index.php 和 /blog/index.php 的链接。但是在我的服务器上的实际项目目录( / elgg )中,没有一个名为 / register 或 / blog 。
怎么可能呢?我如何找到文件夹?
答案 0 :(得分: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');
注册到elgg的系统中
<installdir>/mod/blog/start.php
同一个文件还包含blog_page_handler()
函数...
如果您正在开发插件,那么值得关注Elgg的PageHandler wiki条目
答案 1 :(得分:0)
我认为Elgg本身使用URL重写,将 /register/index.php 和 /blog/index.php 重定向到系统中的不同文件。
检查.htaccess文件中是否有任何内容,否则elgg可能会在内部重定向页面。