Htaccess URL Rewrite перехватывает 2 или 5 символов (но не 3 или 4) - PullRequest
1 голос
/ 27 ноября 2011

Мое текущее правило переписывания для выбора выбранного языка:

RewriteRule ^language/([A-Za-z-]{2,5})/?$ /yadayada.php?hl=$1 [QSA,L]

Итак, он поймает эти:

  • / язык / es (испанский)
  • / язык / де (немецкий)

Но коды языков могут содержать только 2 буквы (например, en, es, de) или 5 букв (например, zh-TW). Проблема в том, что он должен , а не принимать любые из этих (3 или 4 буквы или все 5 строчных букв):

  • / язык / esp (три буквы)
  • / language / zh-tw (используя строчные буквы во 2-й части, это должен быть zh-TW)

Есть идеи? Спасибо!

1 Ответ

8 голосов
/ 27 ноября 2011

Тогда я бы разделил это на:2 строчные буквы, за которыми следуют тире и 2 заглавные буквы (например, «zh-TW» или «zh-CN»).

...