我正在将一个 IIS asapi 过滤器移植到 linux/apache,我想知道采用它的最佳途径是什么。在 IIS 上,此 isapi 过滤器拦截请求,执行数据库查找以查找用户请求的文件,然后重写 URL 以直接为该文件提供服务。
在 Apache 上执行此操作的最佳方法是什么? mod_rewrite 似乎没有插入用户代码来执行数据库查找的工具,所以我们不能使用它。我们不能使用 mod_isapi,因为我们的 DLL 是一个过滤器,而模块不支持它。
现在,我认为最直接的方法是编写我们自己的 C 模块,使用 mod_rewrite 代码作为指南。如果可以的话,我想避免这种情况。我也不想通过 perl/PHP/任何脚本为每个请求发出 HTTP 重定向,因为重定向会影响性能。
建议?我们可以使用 Apache 处理程序或过滤器来完成此任务吗?
最佳答案
在 mod_rewrite 中,MapType“prg”就是为了做到这一点。它允许您使用任何可执行文件作为您的 map ,您的程序所要做的就是读入字符串并输出查找值。
关于java - 没有 mod_rewrite 的 Apache URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4595903/