I am using Elgg - free social media framework for just one of my projects. I must personalize it a great deal, the issue is I do not know how its filesystem works!

The project is situated in localhost/elgg folder.

Now, in the browser, you will find links to /register/index.php and /blog/index.php. But inside actual project directory (/elgg) on my small server you will find none named /register or /blog.

How's that even possible? How do you discover the folders?

To grow on @emaillenin's answer: Elgg does use URL spinning.. most elgg page sights are carried out through the primary page handler present in


which calls the page_handler($handler, $page) function, defined in


Obviously, you will need to search much deeper than that to locate what creates register/index.php content -Body starting point searching is perfect for elgg_register_page_handler() calls..

for instance, your blog index is registered into elgg's system via elgg_register_page_handler('blog', 'blog_page_handler'); in


Exactly the same file also consists of the blog_page_handler() function...

If you are creating a wordpress plugin, it's worth searching at Elgg's PageHandler wiki entry

I believe Elgg uses URL spinning alone which redirect /register/index.php and /blog/index.php to various files within the system.

See if you will find anything within the .htaccess file or elgg may be redirecting the web pages internally.