@Bruno Berlanda Deixe sempre a regra que oculta a extensão dos arquivos por último... Isso deve resolver.
Para fazer o "Redirect 301", outra opção seria inserir após a abertura da tag "configuration" o trecho abaixo para cada página a ser redirecionada:
<location path="page_old.php">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.domain.com/page_new" httpResponseStatus="Permanent" />
</system.webServer>
</location>
Ou você pode criar uma página com o mesmo nome da antiga e com a instrução para o redirect.
Em php seria:
<?
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.domain.com/page_new");
?>
Em ASP:
<%@Language=VBScript%>
<%
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.domain.com/page_new"
Response.End
%>
Att.