2012-07-05 141 views
0

我有一个Apache模块,它使用ap_hook_post_read_request钩子来执行内部重定向,当满足某些条件。我想限制这个处理程序到一个虚拟主机,但目前它在所有虚拟主机上触发(有很多)。 httpd.conf配置仅限于LoadModule指令。我已经尝试在vhost中使用SetHandler handlername,在主配置中使用SetHandler None,但处理程序仍然对其他虚拟主机的请求调用。该模块还会注册ap_register_output_filter挂钩,但输出过滤器不会执行任何其他操作,除非自行移除并向前传递控制权。如何限制Apache模块(处理程序)到虚拟主机(虚拟主机)

回答

0

我创建了虚拟主机的一些自定义配置。我在模块中查找这个配置,如果它没有配置,则返回,所以这实际上允许我将模块限制为一个虚拟主机。

0

试试这个:

# VirtualHost1 = localhost:80 

<IfModule mod_weblogic.c> 
<VirtualHost 127.0.0.1:80> 
DocumentRoot "C:/test/VirtualHost1" 
ServerName localhost:80 
</VirtualHost> 
</IfModule> 
+0

问题不在于未针对特定虚拟主机调用处理程序,而是在所有虚拟主机上调用它,并且我只希望它将其应用于单个虚拟主机 – Andrew 2012-07-06 16:01:26