Вообще, эта задача из двух частей:
1. Получение URL адреса.
2. Вывод HTML страницы с правильными URL адресами.
Пример.
Код для mod-rewrite, перенаправляющий все запросы в файл content.php:
RewriteEngine on
RewriteRule .* content.php
Файл content.php:
<?php
// Эту часть кода можно реализовать и через mod-rewrite
$parts = explode('/', substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?')));
$_GET['page'] = $parts[2];
$_GET['id'] = $parts[3];
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php /*
А код, отвечающий за то, ссылки на какие URL адреса будут в сгенерированной HTML странице, нужно размещать именно в PHP скрипте.
Либо использовать какой-нибудь модуль apache (например, mod_ext_filter), который будет заменять ссылки в отдаваемой пользователю HTML странице на нужные (а в PHP скрипте выводить ссылки вида "?page=news&id=5").
*/ ?>
<ul>
<li><a href="/page/<?=htmlspecialchars($_GET['page'])?>/<?=htmlspecialchars($_GET['id'])?>">Ссылка на текущую страницу</a></li>
<li><a href="/page/news/10">Ссылка на новость номер 10</a></li>
</ul>
</body>
</html>