У меня была именно эта проблема. Он работает на одном сервере, а не на следующем. Раздражает и отнимает много времени, если не сказать больше!
После долгих проверок с использованием этого php:
foreach ($_REQUEST AS $key => $value) echo $value."<br>";
в верхней части index.php, чтобы проверить, какие значения были отправлены из файла htaccess (и многих других проверок, которые я не буду выполнять!) В конце концов я обнаружил, что вам нужно указать «RewriteBase»
Добавление RewriteBase /
в начало файла htaccess позволило работать на всех серверах, которые я пробовал.
(также не забудьте установить на: RewriteBase /folder-where-file-is/
где "folder-where-file-is" - это расположение файла index.php, если он находится в подпапке)
Надеюсь, это поможет вам - зная, что это наверняка помогло бы мне много часов назад!