В чем проблема с этим тегом перезаписи URL, используемым в JBoss? - PullRequest
0 голосов
/ 19 декабря 2011

Я переписываю URL на JBoss, добавив следующий тег перезаписи в standalone.xml

<rewrite pattern="^/myapp/resources/([0-9]+)/(.+)$" substitution="/myapp/resources/$2" />

Ожидается, что указанное выше правило перезаписи URL отобразит следующий URL:

http://localhost/myapp/resources/4/js/test.js

до

http://localhost/myapp/resources/js/test.js

То есть числовое значение '4' должно быть удалено.

Но, к сожалению, это не работает.

Если я использую сервер Apache и в htaccess, если я даю то же правило перезаписи, то оно отлично работает.

RewriteRule ^myapp/resources/([0-9_\.]+)/(.+)$ myapp/resources/$2

Кроме того, если вместо использования регулярного выражения для первого параметра я жестко закодирую его значение, то все прекрасно работает и в JBoss, то есть:

<rewrite pattern="^/myapp/resources/4/(.+)$" substitution="/myapp/resources/$1" />

Thus, if the first expression is replaced by a hard-coded value then the following URL is mapped properly

http://localhost/myapp/resources/4/js/test.js

to

http://localhost/myapp/resources/js/test.js

Что-то мне не хватает при создании правила перезаписи для JBoss?

Или есть ли какие-либо ограничения для написания регулярных выражений правил перезаписи в JBoss?

Был бы признателен, если бы кто-то мог вести выше.

Заранее спасибо.

PS: я реализовал переписывание, как упомянуто здесь - http://docs.jboss.org/jbossweb/7.0.x/config/host.html

...