htaccess 重写以反转子文件夹

htaccess rewrite to reverse subfolders

虽然很基础,但这是我正在尝试做的一个例子:

我有一个采用不同类型 CMS 的结构,并且在每个安装中都有语言变体。

默认情况下,结构如下所示: https://[domain]/[country]/[installation]/[language-code]

最终,我试图得到这个:

https://[domain]/[country]/[language-code]/[installation]/

我想知道这是否可以实现,因为 folders/languages 本身并不是真正的文件夹,实际上是从 CMS 的设置(在子文件夹中)重写的。

由于未修改,这些将是当前网址的示例:

https://example.com/ca/events/en/
https://example.com/ca/store/en/
https://example.com/ca/network/en/

以及期望结果的示例:

https://example.com/ca/en/events/
https://example.com/ca/en/store/
https://example.com/ca/en/network/

并且对于每个安装,它们并不总是具有相同的语言(例如,ca 有 en 和 fr,但我们有 en 和 es)

注意:将附加后续页面...例如: https://example.com/ca/en/events/event-name/subpage/

您可以在 .htaccess 之上使用这个单一的重定向规则:

RewriteEngine On

RewriteRule ^([a-z]{2})/(.+)/([a-z]{2}/?)$ // [L]