Я хочу начать с того, что от всего сердца согласен с AurelioDeRosa. Я верю, что маршруты будут лучшим выбором. Однако это ваш выбор, а не мой, и этот код .htaccess должен выполнить ту задачу, которую вы хотите.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*(admin).*$ admin.php [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Обратите внимание, что этот скрипт будет перехватывать все, что содержит admin, поэтому он может сломать ваш интерфейс. например, если вы хотите перечислить всех ваших пользователей с правами администратора, URL-адрес yoursite.com / users / listby / admin / перенаправит запрос на admin.php, а также URL-адреса типа / administrator / или / adminininini