首页 > 解决方案 > 需要帮助设置在 urlrewrite

问题描述

我有一个 mysite.com 网站(SpringBoot 2.0),我在其中使用 mysite.com?lang=en 或 mysite.com?lang=uk 的本地化 我如何在 urlrewrite.xml org.tukey.web.filters.urlrewrite 中进行配置。网址重写过滤器;获取: from mysite.com?lang=en mysite.com default en language

mysite.com
mysite.com/test
mysite.com/save/wer

其他语言

from mysite.com?lang=uk
mysite.com/uk
mysite.com/uk/test
mysite.com/uk/save/wer

<rule>
   <from>^(.*(lang=(ru|uk)).*)$</from>
   <to type="redirect">/%{parameter:lang}</to>
 </rule>
<rule>
  <from>^(.*(lang=(uk)).*)$</from>
   <to type="redirect">/</to>
 </rule>

标签: url-rewritingtuckey-urlrewrite-filter

解决方案


您可以使用此规则来实现您正在尝试的内容

<rule>
    <from>^(.+)lang=(..)(.+)$</from>
    <to type="redirect">$1/$2/$3</to>
</rule>

解释:将传入的 URL 分成 3 部分

第 1 部分:lang 之前的所有内容=

第 2 部分: lang= 后的 2 个字符

第 3 部分:2 个字符之后的所有内容

通过删除 lang= 并保留其他所有内容来转发请求


推荐阅读