我想请教您有关如何将Error 500 Internal Server页面仅正确重定向到自定义页面的帮助,否则将可以访问我们的网页。目前,我有一个代码,但是即使我们的系统也可以访问,它仍在重定向到自定义页面
我的background.js
function redirect(requestDetails) {
console.log("Redirecting: " + requestDetails.url);
return {
redirectUrl: "https://cmms.domainhosting.com/cmms/ma.html"
};
}
chrome.webRequest.onBeforeRequest.addListener(
redirect,
{urls:["http://cmms/may/ui"]},
["blocking"]
);
我的manifest
{
"description": "Intercept and Redirect Error 500 Page",
"manifest_version": 2,
"name": "Web Request",
"version": "12.8.2018",
"icons": {
"24": "icons/24.png",
"48": "icons/48.png",
"128": "icons/128.png"
},
"browser_action": {
"default_icon": "icons/48.png"
},
"permissions": [
"webRequest",
"webRequestBlocking",
"http://cmms/may/"
],
"background": {
"scripts": ["background.js"]
}
}
我已经读过onBeforeRedirect可以满足我的需求,但是我不知道如何编写代码。
谢谢!
答案 0 :(得分:0)
如本link所述,只有Apache可以处理500的原因来显示该页面,才能使用500的自定义页面。
例如,假设您在.htaccess页或apache配置文件中犯了语法错误,它将引发500个服务器错误,但是由于Apache故障,它无法提供任何服务,包括该自定义页,因此您获取浏览器的默认页面。另外,根据您的PHP错误报告设置方式,您也不会获得500个自定义页面。此功能还有很多,自定义500页几乎是无用的,因为大多数人都不会看到。您会先知道这些内容,因为通常这是500个配置问题,例如代码中的语法错误。
也是这个page的人,
尽管大多数错误消息都可以被覆盖,但是在某些情况下,无论ErrorDocument的设置如何,都使用内部消息。特别是,如果检测到格式错误的请求,将立即停止正常的请求处理并返回内部错误消息。这对于防止由于错误请求导致的安全性问题是必要的。
您可以检查此线程以获取其他参考:How to create custom 401, 403 and 500 error pages?