Нужно перехватить все обращения к несуществующим файлам посредством mod_rewrite, все такие обращения кидать на index.php
RewriteEngine on
RewriteBase /
#не обрабатывать если
#вызван /index.php,возм. с параметр.
RewriteCond %{REQUEST_URI} !(/index.php.*) [OR]
#вызван [url]http://host/[/url]
RewriteCond %{REQUEST_URI} !(/?.*) [OR]
#вызван не существующий uri
RewriteCond %{REQUEST_URI} !-U
RewriteRule ^(.*)$ index.php?uri=%{REQUEST_URI}&fname=%{REQUEST_FILENAME}&req=$1
и проблема в том, что почему-то rewriterule срабатывает на вызове
http://host/ и
http://host/?paramsпричём если RewriteCond %{REQUEST_URI} !-U
поменять на RewriteCond %{REQUEST_URI} !-f
то второе правило работает, а первое нет, т.е.
http://host/index.php - обрабатывает rewriterule
Что за беда такая?