почему сопоставление исходящего правила tuckey UrlRewriteFilter не работает?

Я использую urlrewritefilter, чтобы оформить ссылки на мои продукты для лучшей индексации Google (удаление параметра продукта) .

пример:

.../product/snowboarda

передается через правило перезаписи URL на

.../product.seam?product=snowboarda

правило перезаписи

<rule>
   <from>^/product/([a-zA-Z]+)$</from>
  <to>/product.seam?product=$1</to>
</rule>

Но моя проблема в том, что на данный момент я понятия не имею, как переписать исходящие ссылки в моих фейслетах. Я прочитал абзац об исходящих правилах в руководстве. Теперь мне интересно, как я могу использовать это вместе с s:link? как насчет отправки или перенаправления формы (нулевой результат действия)? помогите разобраться :)

возможное переписывание исходящего правила (?)

<outbound-rule>
 <from>^/product.seam?product=([a-zA-Z]+)$</from>
 <to>/product/$1</to>
</outbound-rule>

любые подсказки/идеи?


person kiyaser    schedule 01.03.2010    source источник


Ответы (2)


У меня была такая же проблема, и я решил ее, избегая ? символ. Это специальный символ регулярного выражения, поэтому вы должны экранировать его с помощью \.

person Marnix    schedule 24.07.2014
comment
Большое спасибо за подсказку, как избежать вопросительного знака. Меня ввела в заблуждение документация, в которой не избежать вопросительного знака - tuckey.org/urlrewrite /manual/4.0/#исходящее-правило - person ruhong; 12.10.2016

У меня была такая же проблема, и я решил ее, удалив каретку в начале

<outbound-rule>
   <from>/product.seam?product=([a-zA-Z]+)$</from>
   <to>/product/$1</to>
</outbound-rule>

(Кроме того, я не уверен, стоит ли вам пытаться экранировать символ вопросительного знака с помощью \?)

person victor hugo    schedule 09.04.2010