в DataLife Engine, всі запити, крім статичних файлів перенаправляються в index.php за допомогою ModRewrite правила якого записані в файлі .htaccess. Зазвичай вся необхідна інформація потрапляє в масив $_GET.
Приклад рядка з DataLife Engine:
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
Тобто, наприклад, запит http://host/page/information.html буде перенаправлений в index.php і в $_GET['cstart'] буде записано information.html і далі за допомогою різноманітних перевірок та запитів до бази даних генерується зміст сторінки.
update: Не до кінця прочитав. Робиться це так:
Створюється файл .htaccess зі змістом:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f #якщо це не існуючий файл
RewriteCond %{REQUEST_FILENAME} !-d #якщо це не існуюча директорія
RewriteRule ^(.*)$ index.php?page=$1 [L] # в інших випадках перенаправляємо на index.php, в параметр page записуємо сторінку
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php # якщо немає ModRewrite
</IfModule>
В index.php:
<?php
// записуємо в змінну $page значення з масиву $_GET
if (isset($_GET['page'])
$page = $_GET['page'];
else
$page = 'home'; // якщо: /
// обробка змінної
if ($page == 'home') {
// ...
} else if ($page == 'info') {
// ...
} else if ($page == 'contacts') {
//...
// і т.д.
} else {
// сторінка не знайдена
}