url-rewriting - 需要帮助设置在 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>
解决方案
您可以使用此规则来实现您正在尝试的内容
<rule>
<from>^(.+)lang=(..)(.+)$</from>
<to type="redirect">$1/$2/$3</to>
</rule>
解释:将传入的 URL 分成 3 部分
第 1 部分:lang 之前的所有内容=
第 2 部分: lang= 后的 2 个字符
第 3 部分:2 个字符之后的所有内容
通过删除 lang= 并保留其他所有内容来转发请求