preg_replace в помощь
смотри, дядь:
1. в корне создаешь файл .htaccess
DirectorySlash Off
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !/ruls.php$
RewriteCond %{REQUEST_FILENAME} !\.\S+$ [OR]
RewriteCond %{REQUEST_FILENAME} \.(htm|shtml|html|php|php4|php5)+$
RewriteRule ^(.*)$ ruls\.php\?$1 [QSA,L]
</IfModule>
2. в корне создаешь файл ruls.php
$assert['head']=file_exists("head.txt")?file_get_contents("head.txt"):'';
$assert['body']=file_exists("body.txt")?file_get_contents("body.txt"):'';
$p = $_SERVER['QUERY_STRING'];
if (!$p) $p = 'index.html';
if (preg_match('#^(\/|\.\./)#', $p)||preg_match('#\./\.#',$p)) die_not_found($p);
if (!file_exists($p) || is_dir($p)) {
$routes = file_get_contents("route.txt");
$regex = preg_quote($p).'\s*=>\s*(.*)';
if (preg_match("#\s/$regex#", $routes, $matches)) {
$routed_file = trim($matches[1]);
if (file_exists($routed_file)) {
$page = file_get_contents($routed_file);
} else {
die_not_found($p);
}
} else {
die_not_found($p);
}
} else {
$page = file_get_contents($p);
}
if ($assert['head']) $page = preg_replace('#</head>#i', $assert['head'].'</head>', $page);
if ($assert['body']) $page = preg_replace('#(<body(.*?)>)#i','${1}'.$assert['body'], $page);
echo $page;
3. в корне создаешь файлы head.txt и body.txt - что впишешь, то и будет на всех страницах, в данном случае в секции head и в начале секции body соответственно.
4. и четвертый файл - route.txt - там типа такого, чтобы папки обрабатывались правильно:
/ => ./index.html
/press => ./press.html
/press/ => ./press/index.html