Mod rewrite 将Apache中的区域设置URL重写为单个端点
我目前有一个网址的所有数量Mod rewrite 将Apache中的区域设置URL重写为单个端点,mod-rewrite,Mod Rewrite,我目前有一个网址的所有数量 /book[...whatever] 作为本地化项目的一部分,我们希望对前缀为: /en/book[...whatever] /es/book[...whatever] # etc... 我如何使用mod_rewrite在浏览器中保留这些本地化的URL,但将它们映射到底层/book[…随便什么]URL?这似乎可行,但我猜有一种方法可以将其注册为单个条件: RewriteCond $1 ^(en/book(.*)) [NC] RewriteRule ^(.*)$
/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]
还有什么指示它们应该指向哪个区域?如果存在
/en
或/es
前缀,这是否真的会对目标资源产生影响?换句话说,/en/book/123
和/es/book/123
是否都只参考了/book/123
,而没有任何本地化?资源目标是相同的。我有一个解决方案,但我相信它可以优化-我现在就发布。哦-你原来的问题是/en/book
和/es/book
,而不是/es/reservar
。这很重要,也是我提出问题的原因。啊,对不起,误传了!我现在有另一个解决方案-将更新answe