如何根据URL中的_escaped_fragment_重定向到Tomcat?

时间:2013-09-28 10:23:17

标签: java apache tomcat web-crawler mod-jk

作为尝试使AJAX网站可抓取的一部分,我希望将包含“_escaped_fragment_”的网址重定向到Tomcat。

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

在我看来,你不能在mod_jk.conf中做到这一点

1 个答案:

答案 0 :(得分:1)

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

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

以上规则仅在查询字符串以_escaped_fragment_=开头时才适用,并且会转换此网址:

http://host/?_escaped_fragment_=home

进入这一个:

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

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

JkMount /crawler* ajp13_worker