Как перенаправить на Tomcat в зависимости от _escaped_fragment_ в URL-адресе?

В рамках попытки сделать сайт AJAX доступным для сканирования я хочу перенаправить URL-адреса, содержащие «_escaped_fragment_», на Tomcat.

В настоящее время я заставляю Apache обслуживать корневой ресурс "/", но если запрашивается ресурс "/?_escaped_fragment_=", он должен перенаправить запрос на Tomcat, чтобы сервлет сканера мог его обслужить.

Мне кажется, что в mod_jk.conf этого делать нельзя


person Maxime Vernier    schedule 28.09.2013    source источник


Ответы (1)


Вы можете использовать правило перезаписи Apache для преобразования URL-адреса в формат, который будет легче пересылать в Tomcat с помощью mod_jk:

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
person David Levesque    schedule 29.09.2013