我用directadmin
+ CB2
+ Apache
+ MariaDB 10.1.31
安装PHP 5.6.34
。当我上传OpenCart并启用维护模式时,Apache会显示503错误页面而不是maintenance.tpl
。
我检查了catalog/controller/common/maintenance.php
并找到了以下代码:
if ($this->request->server['SERVER_PROTOCOL'] == 'HTTP/1.1') {
$this->response->addHeader('HTTP/1.1 503 Service Unavailable');
} else {
$this->response->addHeader('HTTP/1.0 503 Service Unavailable');
}
$this->response->addHeader('Retry-After: 3600');
我认为问题是Apache没有正确处理503 Header。当我将Web服务器更改为LiteSpeed时,它没问题。
要检查您是否可以比较这两个版本的网站。它们都启用了维护模式,但是:
第一个是好的 - http://takjens.com/
第二个不是 - http://server3.lammer.ir/
请让我知道如何解决这个问题。
这里LiteSpeed配置了自定义错误页面,而Apache显示默认503错误页面,如响应头中所定义。
要使Apache显示自定义错误页面,请执行以下操作:
.htaccess
文件中。指定相对于已配置的maintenance.tpl
的ServerRoot
文件的路径:
ErrorDocument 503 /path/to/maintenance.tpl
.tpl
文件扩展名不是Apache默认提供的服务。我命令正确处理它,应该在Apache配置中或通过.htaccess
文件为此扩展指定正确的文件类型:
AddType text/html tpl