2016-05-26 5 views
1

Я пытаюсь выяснить, как настроить пользовательскую ошибку IIS для ошибки 401, используя Powershell, поэтому я пробовал это без успеха.Как настроить пользовательскую ошибку IIS через Powershell?

Set-WebConfigurationProperty -Filter "/system.webServer/httpErrors/error[@statusCode='401']" -Location IIS:\Sites\MySite -Name path -Value "~/Content/CustomErrors/401.html" 

Я хочу достичь этого результата конфигурации.

Desired configuration

Спасибо заранее.

ответ

0

после длинного цикла с ошибкой ошибки, я, наконец, понял, как это решить, если кто-то заинтересован, я покажу вам свое разрешение.

Set-Location IIS:\Sites\MySite 

add-WebConfiguration -Filter /System.WebServer/HttpErrors -Value @{StatusCode=401;PrefixLanguageFilePath="$Null"; Path="~/Content/ErrorMessages/401.html"; ResponseMode="ExecuteURL"} 
0

Это работает для меня, в моем случае я хотел бы перенаправить на страницу index.html в корневом каталоге, для 404 код состояния ошибки

мне пришлось:

  1. Включить IIS Powershell.

    import-module WebAdministration 
    
  2. Приставка Удалить язык

    Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "prefixLanguageFilePath" -Value "" 
    
  3. Установите значение путь к странице, я хотел, чтобы отобразить на 404 HTTP StatusCode (В моем случае корень сайта)

    Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "path" -Value "/" 
    
  4. Изменить режим ответа (тип), чтобы выполнить адрес

    Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "ResponseMode" -Value "ExecuteURL"