2012-11-19 15 views
12

Próbuję skonfigurować domyślną stronę dla witryny IIS 7.5.Błąd HTTP 404.7 - nie znaleziono Moduł filtrowania żądań jest skonfigurowany tak, aby odmawiać rozszerzenia pliku

Filtrowanie żądań jest włączone. Jednak strony .aspx są dozwolone, ustawiłem default.aspx na domyślną stronę dla witryny.

Jeśli przejdę do localhost/default.aspx, otrzymam stronę zgodnie z oczekiwaniami.

JEŚLI przeglądania localhost/I dostać

HTTP Error 404,7 - Not Found Moduł filtrujący żądanie jest skonfigurowany tak, aby zaprzeczyć rozszerzenie pliku.

Wszelkie pomysły?

Odpowiedz

13

Wygląda na to, że filtrowanie żądań rzeczywiście filtruje pustą nazwę pliku. Dlatego trzeba dodać to do bloku filtrowania żądań w pliku web.config:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
     <fileExtensions allowUnlisted="true"> 
      <remove fileExtension="." /> 
      <add fileExtension="." allowed="true" /> 
     </fileExtensions> 
     </requestFiltering> 
    </security> 
    </system.webServer> 
</configuration> 

To oczywiste, teraz, ale naprawdę myślę, że jej ogromny Gotcha.


Więcej informacji: IIS 7 Not Serving Files - 404.7 Error

+1

to rozwiązać mój problem. To było bardzo mylące, ponieważ pomimo tego jest błąd podczas korzystania z localhost, kiedy użyłem nazwy hosta, dostałem 404 nie znaleziono - subtelnie różni się od faktycznego (404.7) błędu :-) – santos

+1

Dziękuję, miałem ten sam problem. Jednak nie zauważyłem, który cel miał linie i : wszystko działa dobrze bez tego po mojej stronie ... – Aracthor

0

Można rozwiązać ten problem poprzez dodanie rozszerzenia pliku do modułu filtrowania żądań IIS.

0

można rozwiązać dodając:

<requestFiltering> 
    <fileExtensions allowUnlisted="true"> 
     <remove fileExtension="." /> 
     <add fileExtension="." allowed="true" /> 
    </fileExtensions> 
</requestFiltering> 

do pliku web.config

+1

Jak to się różni od już udzielonej odpowiedzi? – mattbloke