drupal - 更改 '网站遇到意外错误。请稍后再试。' 信息
问题描述
我是一个新的 Drupal 用户。我经常收到此错误消息,我知道这背后的原因。基本上这是因为 SQL 状态 4000 错误,也称为 SQL 死锁错误。当我尝试解决这个问题时,我想看看是否有办法改变这个错误的文本——
“网站遇到意外错误。请稍后再试”。
我的问题很直接。我想将此文本更改为有意义的文本。有可能吗?关于要遵循的步骤的任何指导方针?
解决方案
这个错误页面不是 Drupal 容易控制的。它通常由服务器的 500 响应产生。但是,我已经设法在我的一个网站上使用service worker做到了这一点。
- 为新的 500 错误启动页面创建自定义 HTML 页面。
- 创建一个基本的 service worker 缓存这个页面并在 500 错误的情况下返回它。
例子:
const filesToCache = [
'/500.html'
];
const staticCacheName = '0.0';
self.addEventListener('install', event => {
event.waitUntil(
caches.open(staticCacheName)
// Cache all of the configured files.
.then(cache => {
return cache.addAll(filesToCache);
})
// Force an update of the service worker, if need be.
.then(function() {
return self.skipWaiting();
})
);
});
// Delete outdated cache.
self.addEventListener('activate', event => {
const cacheWhitelist = [staticCacheName];
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheWhitelist.indexOf(cacheName) === -1) {
return caches.delete(cacheName);
}
})
);
})
);
});
// Serve appropriate error pages from cache.
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(response => {
if (response) {
return response;
}
return fetch(event.request)
.then(response => {
if (response.status === 500) {
return caches.match('/500.html');
}
return caches.open(staticCacheName)
});
})
);
});
- 将您的服务人员添加到
<body>
您html.html.twig
的主题文件中(或其他类似的地方):
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js')
.then(swReg => {
console.log('Service Worker is registered', swReg);
})
.catch(err => {
console.error('Service Worker Error', err);
});
});
}
</script>
推荐阅读
- r - 将整数转换为日期
- uwp - 基于 UWP 应用最低版本的安装限制
- couchbase - 使用 cbbackup 在 couchbase 中进行备份时出现异常
- rabbitmq - RabbitMQ — 为什么在使用主题交换时我的路由键被忽略
- c# - 控制器 ASP.net 核心 2.1 中的 Jwt 角色身份验证
- java - 依次打印 ArrayList 中的所有字符
- c# - 访问 CommandParameter 字段 (c# Xamarin)
- opengl - OpenGL3中的虚线?
- java - 使用 Zxing ByQuadrantReader 扫描图像中的多个条形码:Nullpointer
- reactjs - Native Base Linking Issue