Outra (pequena) possibilidade: você verificou se o arquivo é realmente robots.txt, não robots.txt.txt - como em, você alterou as configurações do Windows Explorer?
Temos um site do IIS executando o Dotnetnuke que assumimos em outro grupo. Adicionamos um arquivo robots.txt à raiz, mas ele retorna um 404. Na verdade, qualquer arquivo txt na raiz parece retornar 404.
Eu não consigo identificar onde eles podem ter bloqueado isso. Alguma sugestão?
EDIT: Temos uma duplicação dos arquivos do site e configuração do banco de dados em um servidor IIS limpo e funciona bem lá, por isso parece estar no nível IIS ou algo mais fora do web.config ou similar.
EDIT2: Acontece que foi um bug dentro de um módulo que o desenvolvedor estava usando causando redirecionamentos para arquivos txt ficarem bagunçados. Obrigado a todos que responderam.
Outra (pequena) possibilidade: você verificou se o arquivo é realmente robots.txt, não robots.txt.txt - como em, você alterou as configurações do Windows Explorer?
Verifique sua configuração do tipo MIME no IIS problemático. Pode ser que o IIS esteja exibindo arquivos .txt como algo anormal, o que está fazendo com que seus navegadores não os reconheçam como arquivos de texto gerais. Os tipos Mime estão disponíveis na página de propriedades Site da Web e Diretórios Virtuais na guia Cabeçalhos HTTP.
Você também pode querer verificar se os arquivos .txt não foram associados a um manipulador de aplicativos específico por qualquer motivo - Em Propriedades, em Diretório base, clique no botão Configuração. Verifique se o arquivo .txt não está na lista de extensões. Verifique também se há algum mapa de aplicativo Wildcard (isso afetaria os arquivos de todas as extensões)