将Apache中的区域设置URL重写到单个端点



我目前有很多URL都在上

/book[...whatever]

作为本地化项目的一部分,我们希望将前缀为的项目本地化

/en/book[...whatever]
/es/book[...whatever] # etc...

我如何使用mod_rewrite在浏览器中保留这些本地化的URL,但将它们映射到底层/book[…随便什么]URL?

这似乎有效,但我猜有一种方法可以将其注册为单一条件:

RewriteCond $1 ^(en/book(.*)) [NC]
RewriteRule ^(.*)$  /book/%2 [L]
RewriteCond $1 ^(es/reservar(.*)) [NC]
RewriteRule ^(.*)$  /book/%2 [L]
# etc for other locale IDs and book verbs

编辑:

因此,对于我们范围内的5种语言中的每一种来说,这似乎都是一行代码:

RewriteCond $1 ^((en/book|es/reservar|fr/reserver|de/buchen|it/riservare)(.*)) [NC]
RewriteRule ^(.*)$  /book/%2 [L]

最新更新