Sim, praticamente exatamente.
O primeiro RewriteCond %{HTTP_HOST} .
existe para não redirecionar o loop a alguém que não está enviando um cabeçalho de host - ele está verificando se a variável de cabeçalho do host contém pelo menos um caractere.
O comportamento prepending existe para forçar as solicitações de página a serem manipuladas por index.php
, provavelmente para URLs bonitas - as exceções são para locais que precisam ser exibidos por um arquivo fisicamente presente.
Portanto, para /images/image2.jpg
, ele permite que o Apache veicule o arquivo nesse local, mas, para /contentpage/1/2/3
, ele está reescrevendo para /index.php/contentpage/1/2/3
, permitindo que o aplicativo PHP faça sua parte.
Na verdade, está tecnicamente reescrevendo para //index.php/contentpage/1/2/3
; é claro que ele tem uma base alterada (de estar em um arquivo de htaccess) e não leva isso em conta para o destino.