java - 没有 mod_rewrite 的 Apache URL 重写

标签 java linux apache url-rewriting isapi

我正在将一个 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 ,您的程序所要做的就是读入字符串并输出查找值。

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

关于java - 没有 mod_rewrite 的 Apache URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4595903/

相关文章:

java - 组件及其内容上的 Swing 弹出菜单

java - java反射类

java - 在Java中检查字符串值是否为空的最佳方法

c - 体系结构 x86_64 的 undefined symbol : "_read_line", 从 : _insert in inventory-82371b. o 引用

java - Spring MVC Apache 服务器集成

apache - 无需键入 8080 通过 DNS 加载 tomcat 应用程序

python - 使用 Apache 运行 Flask 时打印件去了哪里?

java - 无法解析 "onRequestPermissionsResult"

linux - Linux 上的中央命令日志记录

linux - 与 cat 相比,Bash while read 循环非常慢,为什么?