Para tentar acessar arquivos que não existem, você pode colocar um erro 404 personalizado no diretório que redireciona o usuário para o URL do arquivo que deseja que eles acessem.
Se houver outros arquivos nesse diretório, você terá que colocar redirecionamentos sobre eles em uma base arquivo-por-arquivo. É assim que é, infelizmente. Se você tiver muitos arquivos, você pode fazer o script da modificação da metabase para adicionar o redirecionamento.
Editar:
Se você puder modificar as ACLs do NTFS em todos esses arquivos para impedir que o usuário as leia, também poderá descartar uma página de erro 401.3 personalizada no diretório.
Se não, tente isto:
@echo off
SET SOURCE_DIR=C:\path-to-directory-in-filesystem
SET ADSUTIL=cscript C:\inetpub\adminscripts\adsutil.vbs
SET METABASE_PATH=W3SVC/####/ROOT/path/to/site/directory
SET REDIRECT_URL=/foo/foo.txt
for /f "usebackq delims=" %%i in ('dir /b %SOURCE_DIR%') do (
%ADSUTIL% CREATE %METABASE_PATH%/%%i
%ADSUTIL% SET %METABASE_PATH%/%%i/KeyType "IIsWebFile"
%ADSUTIL% SET %METABASE_PATH%/%%i/HttpRedirect "%REDIRECT_URL%, PERMANENT"
)
Defina o SOURCE_DIR para o caminho físico no sistema de arquivos do diretório com os arquivos para serem redirecionados. O ADSUTIL provavelmente está definido corretamente se você for uma instalação padrão do IIS 6. METABASE_PATH precisa se referir ao número do identificador do site (### no exemplo, obtê-lo no console de gerenciamento do IIS do seu site) e ao caminho sob a raiz (deixar / ROOT / there-- que é necessário). Finalmente, REDIRECT_URL precisa ser o URL (pode ser absoluto ou relativo à raiz do site).