O problema não é que as regras de reescrita do Apache no arquivo .htaccess não funcionem quando o PHP é executado como um módulo CGI vs. Apache. É só você não pode usar o arquivo .htacess para definir valores PHP quando ele é executado como um CGI. Em vez disso, você precisa ter um arquivo php.ini separado que tenha suas configurações alteradas nele. Dentro da minha própria conta de hospedagem compartilhada, que executa o PHP como um CGI, faço uso do FastCGI e tenho o seguinte no meu arquivo .htaccess :
<IfModule !mod_php.so>
AddHandler myphp-script .php
Action myphp-script /cgi-bin/myphp.fcgi
</IfModule>
Em seguida, no diretório /cgi-bin/ das minhas contas, coloquei o script myphp.fcgi com chmod 755 contendo:
#!/bin/sh
# This ensures PHP doesn't try to run it's own
# process manager.
export PHP_FCGI_CHILDREN=0
# Execute PHP with my php.ini config file
exec /path/to/system/cgi-bin/php -c ~/myconf/php.ini
Ainda tenho uma seção <IfModule mod_rewrite.c> no meu arquivo .htaccess para lidar com a reconfiguração de alguns caminhos antigos do URI para a nova estrutura do URI para manter links antigos armazenados em cache nos mecanismos de pesquisa.