2015-04-06 80 views
0

我试图重定向以/ en或/ en /结尾的子域到?locale = en_US,以/ es或/ es /结尾的域相同。RewriteRule重定向到服务器上找不到的URL

我的问题是,由于某种原因,我的代码适用于除/ es /(带斜线)之外的所有域。当我去http://momemi.com/easee/es/它需要我到http://momemi.com/es,我得到的消息:“在这台服务器上找不到请求的URL/es”。任何想法为什么我可能被重定向到/ es/URL?

这是我当前的代码:

RewriteEngine On 
RewriteBase /easee/ 

# Lenguajes soportados (aparte de inglés) 
RewriteRule ^en[/]?$ ?locale=en_US [L,QSA] 
RewriteRule ^es[/]?$ ?locale=es_ES [L,QSA] 
+0

你的规则看起来不错。很可能你有其他规则或代码问题。在chrome dev工具中测试这个,看看你在'Net'选项卡中得到了什么重定向。 – anubhava 2015-04-06 04:07:58

回答

0

我做了一些测试使用this testing tool和后续的使用反向引用为我工作:

RewriteRule ^(.*)en[/]?$ $1?locale=en_US [L,QSA] 
RewriteRule ^(.*)es[/]?$ $1?locale=es_ES [L,QSA] 

希望这有助于。

相关问题