Сначала читайте ответ от
Егор .
Потому что выполняется :
RewriteRule ^site.php/(.*)?$ index.php?nav=site&id=$1 [L]
и на этом все, у вас всегда будет выполняться последний
UPDATE(rating = rating + 0)//хотя хрен поймешь, нафига к текущему рейтингу добавлять 0 - от этого данные в базе не поменяются, но зато будет лишнее обращение к базе
Поменяйте местами RewriteRule и я вам вроде выдавал более правильный вариант, который допускает лишь цифры, а вы взяли и поменяли на допуск всех символов - зачем? ведь в ID всегда будут цифры, а в рейтинге 1 или 2 --
/rat({1,2}+)