2016-10-29 15 views
1

В моем файле web.config я поместил это правило на перенаправление на пользовательскую страницу 404 и отлично работает для URL-адресов, которые на самом деле не существуют.Перенаправление на пользовательскую страницу 404 Когда URL-адрес заканчивается точкой Dot

<system.webServer> 
    <httpErrors existingResponse="Auto" errorMode="Custom"> 
     <remove statusCode="404" subStatusCode="-1"/> 
     <error statusCode="404" path="/CustomErrors.aspx" responseMode="ExecuteURL"/> 
    </httpErrors> 
</system.webServer> 

Моя проблема заключается в URL-адресах, заканчивающихся символом Point(.). Для примера

http://192.168.1.151/login. 

Или

http://192.168.1.151/login.... 

Это приводит следующее сообщение об ошибке:

Server Error in '/' Application.
The resource cannot be found.

404 error

StackOverflow справилась с этой проблемой прекрасно: 404 page in stackoverflow

Любой совет может быть полезен.

+0

Посмотрите http://serverfault.com/questions/456803/trailing-dots- in-url-result-in-empty-404-page-on-iis –

+0

@PeterHahndorf спасибо, я написал ответ в этом вопросе. – rejnev

ответ

3

Добавление этого атрибута в разделе httpRuntime помогло:

<configuration> 
    <system.web> 
    <httpRuntime ... relaxedUrlToFileSystemMapping="true" .../> 
    </system.web> 
</configuration> 

Gets or sets a value that indicates whether the URL in an HTTP request is required to be a valid Windows file path.

Больше информации о relaxedUrlToFileSystemMapping