是否有可能有一个 apache mod_perl 处理程序,它接收所有传入的请求并根据一组规则决定该请求是否是它想要采取的行动,如果不是,则将控制权返回给 apache,它将正常处理请求?
一个用例:
使用 DirectoryIndex 服务 index.html(或类似文件)和 perl 脚本等的默认处理程序的旧站点正在被赋予更新的 url 方案(django/catalyst-ish)。调度程序将有一组 url 映射到基于传入 url 调度的控制器。
然而,棘手的部分是让这个调度程序在与旧站点相同的虚拟主机上的相同命名空间中。想法是逐个重写站点,因为“全部更新”迁移没有机会使用新系统测试站点性能,而且由于站点的庞大规模,它也不可行。
许多问题之一是调度程序现在按预期接收所有 URL,但 DirectoryIndex 和静态内容(主要由不同的主机提供,但不是所有内容)没有正确提供。调度程序为不匹配的 url 返回一个 Apache::Const::DECLINED,但 Apache 不会像往常一样继续为请求提供服务,而是提供默认的错误页面。Apache 似乎没有尝试寻找 /index.html 等。
如何解决?您需要使用内部重定向吗?更改调度程序中的处理程序堆栈?使用一些聪明的指令?上述所有的?根本不可能?
欢迎所有建议!