我有一个在上下文“/”上运行的 webapp,我现在想使用子文件夹技术将它国际化。
我想要以前托管的同一个网站
http://www.mysite.com/
现在在 url 下提供不同语言的内容
http://www.mysite.com/en/<br>
http://www.mysite.com/fr/<br>
http://www.mysite.com/de/<br>
我正在考虑在 Tomcat 前面添加一个 Apache 代理,以使我的 webapp 保持不变。
假设应用程序已经基于请求中存在的识别语言的 cookie 支持 i18n。
使用 Apache 代理和重写规则,我可以从请求中去除语言,并使用提取的语言添加这个 cookie。
passProxyReverse
然后我需要 Apache 通过添加特定语言( ?)来转换来自 Tomcat 的重定向
我还需要对我的应用程序生成的 HTML 进行某种解析,以便将看起来像http://www.mysite.com/folder/contact.html
的链接修改为http://www.mysite.com/de/folder/contact.html
(mod_proxy_html
?)
我考虑过其他解决方案,例如在不同的上下文中部署相同的 webapp 并通过 memcache 共享会话。或者直接使用 webapp 中的一些过滤器和一些自定义 JSTL 等来管理这种语言子文件夹分离。
所有解决方案似乎都太复杂了。
我想要实现的是出于 SEO 原因使用子文件夹技术,并使我的 webapp 不太了解这一点。
我不明白我是不是把它复杂化了。
有没有更好/更简单的方法来实现我所需要的?