Назад | Перейти на главную страницу

Условный Mod-Rewrite для установки корневого каталога (apache htaccess)

Я пытаюсь написать редирект, но, поскольку зеленый нуб сложнее, чем я думал. Я хочу: при условии, что в URL-адресе нет конкретной страницы, но установлен язык, он должен перенаправляться на домашнюю страницу этого языка. Сначала я расскажу вам о характере текущего рабочего сайта и коде apache, который этого добивается:

/ it / somepage идет красиво / somepage? ln = это
/ de / somepage идет красиво / somepage? ln = de
/ fr / somepage идет красиво / somepage? ln = fr
/ cn / somepage идет красиво / somepage? ln = cn

# WORKS beautifully
RewriteRule ^zh-CN/(.*) /$1?ln=zh-CN [L]
RewriteRule ^cn/(.*) /$1?ln=zh-CN [L]
RewriteRule ^([a-z][a-z])/(.*) /$2?ln=$1 [L]

Здесь 3-я строка - перенаправление по умолчанию. Ast и вторая строка делают исключение для правильного китайского языка, перейдите в / cn / somepage

ТЕМ НЕ МЕНИЕ

приведенный выше код дает ошибку при запросе корня:
/Это/ дает ошибку 404
/Это дает ошибку 404
/ de / дает ошибку 404
/ de дает ошибку 404

/ xx должен пойти в / xx / home? ln = xx
/ xx / должен пойти в / xx / home? ln = xx

это все при условии, что no / xx /определенная страница установлен, конечно! Спасибо за любые подсказки!

Вам нужно такое правило, как:

RewriteRule ^([a-z]+)/?$ /$1/home?ln=$1 [L]

Это также относится к таким URL-адресам, как foo.com/cn так же как foo.com/cn/. Поместите это как последнее правило в цепочке, и оно будет использоваться, только если ничто другое не совпадает.