Я настроил все, и mod_rewrite правильно работает с файлами HTML, но не с файлами jsp.
В моем журнале перезаписи появляется следующее сообщение:
(2) механизм перезаписи инициализации с запрошенным uri /index.jsp, применяя шаблон '^ / ([\ w \ d] *). Jsp $' к uri '/index.jsp' (2) rewrite '/index.jsp' - > '/sb/jsp/index.jsp' (2) принудительно передает '/sb/jsp/index.jsp' следующему обработчику преобразования URI в имя файла API
Я установил mod_jk и могу получить доступ к /sb/jsp/index.jsp без проблем. Я хотел бы, чтобы пользователи открывали /index.jsp, а затем были переписаны в /sb/jsp/index.jsp.
Мое правило перезаписи (обратите внимание, я использую флаг PT, чтобы заставить mod_rewrite пересылать на mod_jk):
RewriteRule ^ / ([\ w \ d] *). Jsp $ /sb/jsp/$1.jsp [PT] [NC] [QSA] [L]
Кто-нибудь знает, что происходит? похоже, что запрос перенаправляется, но никогда не попадает в mod_jk.
Еще одна вещь, которую я только что заметил. Если я уберу флаг PT, я получу другое сообщение в журнале: (1) продолжайте с /sb/jsp/index.jsp [OK] И /index.jsp вместо /sb/jsp/index.jsp Кажется, что apache пересылает на tomcat, но не на переписанный URL ...
Спасибо!
^ / ([\ w \ d] *). jsp $ /sb/jsp/$1.jsp
Что-то выше выглядит не так.
Ниже приведено правило из моей текущей конфигурации.
RewriteRule ^(.*)$ http://agent.hepmepls.com:8443$1 [R,NE,QSA,P,L]
Это правило возьмет все, что находится после. *, И обернет его вокруг нужного мне URL ... вот так
http://agent.hepmepls.com/megavil?argue/junk.html becomes http://agent.hepmepls.com:8443/megavil?argue/junk.html
Но мне кажется, что $ и $ 1 сбивают вас с толку ... Я могу быть совершенно неправ ... но если вы запускаете что-то, хотя ваше правило не будет делать следующее ...
http://hepmepls.com/something.jsp?l8trarguments== becomes http://hepmepls.com/?l8trarguments==.jsp