Я думаю, что ваша проблема связана с RewriteBase и / или совпадением ~ файла.Вы пытались использовать только одну базу и использовать ее для своих правил?Не совсем уверен, что вы пытаетесь с вашими правилами, но
RewriteEngine On<br>
RewriteBase /<br>
RewriteRule ^files/(.+) /file-handler.php?id=$1 [L,QSA]<br>
RewriteRule !.(pdf|gif|jpg|png|css|swf|txt|php|ico|html|js|xml|flv)$ /index.php [L,QSA]
Вы можете просто использовать $_SERVER['REQUEST_URI']
в PHP напрямую.
Другой способ попробоватьнесколько <Directory>
разделов (один для подкаталога и один для корня).
Но, как вы заметили, просто вставить в один файл PHP и перенаправить туда часто легче отладить.