Если у вас есть какая-то форма mod_rewrite, вы можете сделать это довольно легко с помощью файла .htaccess.
Если у вас есть что-то вроде этого:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Он проверит, что файл, к которому вы пытаетесь получить доступ, еще не существует. (Скажем, у вас есть файл hello.html, к которому вам все еще нужны люди для доступа через http://yoursite.com/hello.html)
Тогда, если файл еще не существует, он загрузит ваш файл index.php с оставшимся URL-адресом, сохраненным в переменной url.
Это означает, что вы можете вызвать что-то вроде этого http://yoursite.com/pages/edit/24, и он загрузит index.php с / pages / edit / 24 внутри переменной url.
Это должно помочь вам начать работу, и вам не понадобятся все виды папок и индексных страниц, только mod_rewrite, файл .htaccess и index.php, которые будут использоваться для загрузки всего, что вам нужно.