URL переписать для кота - PullRequest
       8

URL переписать для кота

0 голосов
/ 12 сентября 2011

Мы уже определили правило URL для java-приложения через файл tomcat rewrite.xml.

<rule>
    <condition name="host" operator="equal">example-laboratories.pt</condition>
    <from>[^pt]/(.*)$</from>
    <to type="redirect">http://example-laboratories.pt/pt/$1</to>
</rule>

Это работает, когда мы запрашиваем URL http://example -laboratories.pt url,но мне нужно перенаправить на http://example -laboratories.pt / pt , если пользователь запрашивает http://example -laboratories.pt / pt .Теперь вышеприведенное правило перенаправляет на http://example -laboratories.pt / pt / pt (обратите внимание на дополнительный 'pt' в конце).

1 Ответ

0 голосов
/ 27 октября 2011

Я не совсем уверен, что вы хотите сделать, но похоже, что у вас есть ошибка в вашем регулярном выражении:

<from>[^pt]/(.*)$</from>

Это фактически говорит "любой символ, кроме" p "или" t', за которым следует косая черта, затем ноль или больше чего-либо. "

Я не уверен, что это то, что вы хотите, но это не похоже на то, что вы хотите делать.Вы можете избежать регулярных выражений по большей части, если используете другой инструмент перезаписи URL.(Похоже, вы используете Tuckey?)

Вы можете сделать это с помощью OCPsoft Rewrite (http://ocpsoft.com/rewrite/)

Например:

ConfigurationBuilder.begin()
.defineRule()
.when(Domain.matches("example-laboratories.pt")
    .and(Path.matches("/{1}/{2}")
        .where("1").matches("(?!pt)[^/]+")
        .where("2").matches(".*")))
.perform(Redirect.permanent(context.getContextPath() + "/pt/{2}"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...