RewriteRule重定向到服务器上找不到的URL

时间:2015-04-06 02:12:18

标签: apache .htaccess mod-rewrite redirect

我正在尝试将以/ en或/ en /结尾的子域重定向到?locale = en_US对于以/ es或/ es /结尾的域相同。

我的问题是,由于某些原因,我的代码适用于除/ 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]

1 个答案:

答案 0 :(得分:0)

我使用this testing tool进行了一些测试,以下使用反向引用为我工作:

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

希望这有帮助。