作为使AJAX网站可爬网的一部分,我希望将包含“ _escaped_fragment_”的URL重定向到Tomcat。

我目前使Apache服务于根资源“ /”,但是如果请求了资源“ /?_ escaped_fragment_ =“,那么它应该将请求重定向到Tomcat,以便搜寻器Servlet可以为它服务。

在我看来,您无法在mod_jk.conf中做到这一点

最佳答案

您可以使用Apache重写规则将URL转换为使用mod_jk更易于转发到Tomcat的格式:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^(_escaped_fragment_=.*)
RewriteRule ^/$ /crawler/?%1 [L,R=permanent]


上面的规则仅在查询字符串以_escaped_fragment_=开头并且将转换此URL时适用:

http://host/?_escaped_fragment_=home


进入这个:

http://host/crawler/?_escaped_fragment_=home


然后,您可以使用通常的JkMount指令将/crawler转发到Tomcat,例如:

JkMount /crawler* ajp13_worker

09-08 06:40