Ваша реализация перезаписи в порядке.
Скорее всего, у вас не включены директивы htaccess AllowOverride
или возможно mod_rewrite не включен.
Если у вас есть доступ к конфигурации сервера и журналам, лучше поместить директивы перезаписи в файл конфигурации сервера. Это быстрее, чище и позволяет избежать возможных AllowOverride
проблем. Журналы должны точно показывать, что происходит, вы можете временно включить подробное ведение журнала mod_rewrite с помощью:
LogLevel alert rewrite:trace3
Если у вас нет доступа к конфигурации сервера и журналам, вам необходимо связаться с вашим провайдером. Без доступа к ним невозможно решить проблему.