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

时间:2015-02-19 17:20:05

标签: mod-rewrite

我目前在

处有许多网址
/book[...whatever]

作为本地化项目的一部分,我们希望将具有前缀的那些本地化:

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

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

1 个答案:

答案 0 :(得分:0)

这似乎有效,但我猜测有一种方法可以将此表达到一个条件:

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]