目前,我们处于负载平衡的环境中,其中一台服务器存在问题。由于应用程序崩溃,我们收到错误500。当我们的技术人员对此进行调查时,我想进行修复。当您收到错误500时,我想一种重定向到第二台服务器上同一页面的方法。
在apache中,您可以使用以下方法简单地重定向:
ErrorDocument 500 http://xxx/
我的问题是,是否有可能使mod_rewrite指向重定向到错误500来自的特定页面?
例如,vm1.foo.bar/contact的错误为500,因此我们需要将其重定向到vm2.foo.bar/contact。
另外,这是一个运行Apache的Windows Server。
最佳答案
确定按照上面的注释发布一些命令。
首先像这样定义ErrorDocument
:
ErrorDocument 500 /handle500.php
然后在
/handle500.php
内部有如下代码:<?php
if ($_SERVER["HTTP_HOST"] == 'vm1.foo.bar')
header ("Location: http://vm2.foo.bar" . $_SERVER["REQUEST_URI"]);
else
header ("Location: http://vm1.foo.bar" . $_SERVER["REQUEST_URI"]);
exit;
?>
关于apache - 我可以一起使用mod_rewrite和apache自定义错误处理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21188716/