Назад | Перейти на главную страницу

mod_rewrite не перезаписывает файлы jsp

Я настроил все, и 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