自定义错误消息允许在站点访问者无法访问他们请求的内容时提供文件、执行资源或重定向到 URL,以此来提供友好或信息更丰富的响应。
默认情况下,IIS 会提供存储在 systemroot/Help/IisHelp/Common 文件夹下的文件中定义的错误消息。您可以为用户创建自定义错误消息,并将 IIS 配置为在每次遇到站点上的特定 HTTP 错误时都返回该页面。
注:不能自定义以下 HTTP 错误消息:400、403.9、411、414、500、500.11、500.14、500.15、501、503 和 505。
(一)创建自定义 HTTP 错误响应
每当发生 HTTP 错误时,IIS 都可以返回自定义错误消息。与默认的错误消息相比,自定义错误消息能够提供更友好或更丰富的反馈信息。
1.; 打开 IIS 管理器,然后导航至要管理的级别。
2.; 在"功能视图"中,双击"错误页"。
3.; 在"操作"窗格中,单击"添加"。
4.; 在"添加自定义错误页"对话框的"状态代码"下,键入要为其创建自定义错误消息的 HTTP 状态代码的编号。
5.; 在"响应操作"框中,请执行以下操作:
- 选择"将静态文件中的内容插入错误响应中"以便为自定义错误提供静态内容(例如 .html 文件)。
- 选择"在此网站上执行 URL"以便为自定义错误提供静态内容(例如 .asp 文件)。
- 选择"以 302 重定向响应"以便将客户端浏览器重定向到包含自定义错误文件的其他 URL。
6.; 在"文件路径"文本框中,如果您选择了"将静态文件中的内容插入错误响应中",请键入自定义错误页的路径,如果您使用的是"在此网站上执行 URL"或"以 302 重定向响应"路径类型,请键入自定义错误页的 URL,然后单击"确定"。
注:如果选择了"在此网站上执行 URL",则路径必须是相对于当前站点的根目录的 URL。例如,如果需要使用 URL"http://contoso.com/products/new/error.htm",则应指定"/products/new/error.htm"。
注:如果选择了"在此网站上执行 URL",则必须确保指定的 URL 与可能发生错误的 URL 位于同一个应用程序池中,否则服务器将返回"403 禁止访问"消息。如果无法保证指定的 URL 将与可能发生错误的所有 URL 都位于同一个应用程序池中,请改为选择"以 302 重定向响应"并指定一个完全限定的 URL。
(二)在 IIS 7.0 中更改 HTTP 错误响应的状态代码
如果要更改自定义错误响应返回的 HTTP 错误,可以更改 HTTP 错误响应的状态代码。
1.; 打开 IIS 管理器,然后导航至要管理的级别。
2.; 在"功能视图"中,双击"错误页"。
3.; 在"错误页"页上,单击以选择要更改其状态代码的自定义错误页。
4.; 在"操作"窗格中,单击"更改状态代码"。
5.; 在"错误页"页的"状态代码"列中,输入新的状态代码,然后单击页面上的任意位置。
(三)编辑自定义 HTTP 错误响应
更改自定义错误文件的位置时,可以将该自定义错误的设置更改为指向新的位置。当错误消息的文件类型发生更改时,例如从静态文件更改为向每个访问者自定义的动态内容提供服务的文件,则也可以执行类似的操作。
1.; 打开 IIS 管理器,然后导航至您要管理的级别。
2.; 在"功能视图"中,双击"错误页"。
3.; 在"错误页"页上,单击要更改的错误以将其选中。
4.; 在"操作"窗格中,单击"编辑"。
5.; 在"编辑自定义错误页"对话框中,选择下列选项之一:
- 将静态文件中的内容插入错误响应中,如果错误内容是静态的(例如 .html 文件),请选择此选项。
- 在此网站上执行 URL,如果错误内容是动态的(例如 .asp 文件),请选择此选项。
- 以 302 重定向响应,如果要将客户端浏览器重定向到其他 URL,请选择此选项。
6.; 如果选择"将静态文件中的内容插入错误响应中"作为路径类型,请在"文件路径"文本框中键入自定义错误页的路径。如果使用"在此网站上执行 URL"或"以 302 重定向响应"路径类型,请改为键入自定义错误页的 URL。单击"确定"。
(四)删除自定义 HTTP 错误响应
如果不再需要为特定的 HTTP 请求返回自定义响应,可以删除该自定义错误。可以删除本地级别的自定义错误,也可以删除从父级继承的自定义错误。删除自定义错误后,IIS 将返回与该错误关联的默认 HTTP 错误消息。
1.; 打开 IIS 管理器,然后导航至您管理的级别
2.; 在"功能视图"中,双击"错误页"。
3.; 在"错误页"页上,选择要删除的错误,接着在"操作"窗格中单击"删除",然后单击"是"。
标签: