Ну, я лично кое-что бы оптимизировал. Впрочем, каждому свой код больше нравится.

Насчет твоего вопроса - похоже Apache после замены адреса делает "internal request" и заменяет все заново. Для отличия этих запросов можно применять, например, переменные окружения, но лучше, наверное, использовать то, что сам HTTP запрос остается неизменным... Попробуй так -
RewriteCond %{THE_REQUEST} (?:auth|article)\.php/?\ HTTP/\dПЛЮС\.\dПЛЮС$
RewriteRule $ /index.php? [L]
Ссылка на пост
10 июл 2012 в 18:45
"Вставь мою строчку сразу после RewriteEngine On." - не помогло.