RewriteEngine on
RewriteRule .* 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>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
if (window.top === window)
window.top.location = 'http://vk.com/app123456';
</script>
</head>
<body>
test
</body>
</html>
$_SERVER['HTTP_REFERER']
Сделайте пожалуйста для него замедление.
root@master:~# cat /etc/cron.d/php5
# /etc/cron.d/php5: crontab fragment for php5
# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See /usr/lib/php5/maxlifetime
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
root@host:~# cat /usr/bin/clear_sess.sh
#!/bin/bash
/usr/bin/find /var/lib/php52 -mmin +XXX -delete -print
# где XXX - количество минут (правда, у меня в днях mtime).