我试图弄清楚如何使用Powershell为错误401设置IIS自定义错误,所以我试过这个没有成功。
Set-WebConfigurationProperty -Filter "/system.webServer/httpErrors/error[@statusCode='401']" -Location IIS:\Sites\MySite -Name path -Value "~/Content/CustomErrors/401.html"
我想实现此配置结果。
提前致谢。
答案 0 :(得分:2)
经过长时间的尝试错误循环后,我终于想出了如何解决这个问题,如果有人有兴趣我会告诉你我的解决方案。
Set-Location IIS:\Sites\MySite
add-WebConfiguration -Filter /System.WebServer/HttpErrors -Value @{StatusCode=401;PrefixLanguageFilePath="$Null"; Path="~/Content/ErrorMessages/401.html"; ResponseMode="ExecuteURL"}
答案 1 :(得分:0)
这对我有用,在我的情况下我想重定向到root中的index.html页面,以获取404状态错误代码
我必须:
启用IIS Powershell。
import-module WebAdministration
删除语言前缀
Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "prefixLanguageFilePath" -Value ""
将路径值设置为我想在404 http状态代码上显示的页面(在我的情况下是网站的根目录)
Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "path" -Value "/"
将响应模式(类型)更改为执行URL
Set-WebConfigurationProperty -PSPath IIS:\Sites\YOUR_SITE_NAME -Filter "/system.webServer/httpErrors/error[@statusCode='404']" -Name "ResponseMode" -Value "ExecuteURL"