Следующее правило:
RewriteRule ^api/([\w-]+)/?$ api.php?method=$1 [QSA] На локальном сервере Apache 2.4 он позволяет мне переписать:
 /api/create-account/?name=abcd 
в
 /api.php?method=create-account&name=abcd 
  На производственном сервере, который является Apache 2.2, запрос отправляется на api.php .  Но в моем скрипте не найден параметр строки запроса.  Если я сброшу $_REQUEST , $_GET или $_POST , я получаю пустой массив. 
Что мне не хватает?
Вам нужно отключить Multiviews:
 Options -Multiviews 
  Multiviews – это опция mod_negotiation, которая сообщает ему попробовать сопоставить запрос с физическими файлами.  Когда он видит запрос как /api/somtehin а затем видит, что есть файл с именем api.php , он сразу же отобразится в этом файле, полностью обходя mod_rewrite.