创建需要将错误500内部服务器页面重定向到自定义页面的扩展

时间:2018-08-13 11:43:34

标签: api google-chrome-extension

我想请教您有关如何将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可以满足我的需求,但是我不知道如何编写代码。

谢谢!

1 个答案:

答案 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?