Многоязычный сайт, подкаталоги как язык (RewriteRule)

Для моего сайта я хочу переписать свой URL-адрес:

www.xxx.com/en/index.php вместо www.xxx.com/index.php?language=en
www.xxx.com/nl/index.php вместо www.xxx.com/index.php?language=nl

www.xxx.com должен быть www.xxx.com/en/

This фактически работает я добавил эти правила перезаписи

RewriteCond% {HTTP_HOST}% {REQUEST_URI} ^ www \ .xxx \ .com (\ /?) $
RewriteRule (. *) http://www.xxx.com/ ru / $ 1 [R = 302, L]

RewriteRule ^ (nl | en) / (. *) $ $? language = $ 1 &% {QUERY_STRING} [L]

R = 302 добавлен для тестирования цели

Достаточно ли хороши приведенные выше RewriteCond и RewriteRule или есть другие, может быть, более короткие или лучшие способы переписать .com / в .com / ru /

Если URL-адрес редактируется на языке, который не существует, я хочу, чтобы этот пользователь был перенаправлен на английский язык.

Пример
www.xxx.com/es/index.php запрашивается, этот язык не существует или язык не указан. Я хочу, чтобы пользователь перенаправлял на www. xxx.com/en/index.php

Я попробовал следующее:

RewriteRule ^ ([^ n] [^ l] | [^ e] [^ n]) / (. *) $ en / $ 2% {QUERY_STRING} [L, R = 302]

В некоторых случаях это работает, но если введен www.xxx.com/ne/index.php, он считается действительным и не переписывается. www.xxx.com/index.php также не переписывается на www.xxx.com/en/index.php

Вы можете помочь мне это исправить?

Заранее спасибо!

1
задан PimPee 10 August 2010 в 07:01
поделиться