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]
虽然很基础,但这是我正在尝试做的一个例子:
我有一个采用不同类型 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]