Дорогие все, пытаюсь понять это, но безуспешно.
Хотите переписать и украсить этот конкретный ...? Ln = zh-CN to / cn / ... С помощью гения @ StackOverflow (Лоуренс Гонсалвес) я почти готов! Но застрял здесь:
/ it / somepage идет красиво / somepage? ln = это
/ de / somepage идет красиво / somepage? ln = de
/ fr / somepage идет красиво / somepage? ln = fr
/ cn / somepage но это дает ошибку 404!
/ somepage? ln = zh-CN работы конечно прекрасные
# exception for Chinese version /cn/somepage
RewriteRule ^zh-CN/(.*) /$2?ln=zh-CN [L]
RewriteRule ^cn/(.*) /$2?ln=zh-CN [L]
# redirect all /XX/somepage goes to /somepage?ln=XX
RewriteRule ^([a-z][a-z])/(.*) /$2?ln=$1 [L]
Вторая часть работает отлично! Первая часть плохо справляется с этим единственным исключением zh-CN ... Что здесь упускается из виду? Я уверен, что все подсказки и подсказки будут наделены женским вниманием в нашей загробной жизни!
Если я правильно прочитал, замените $2
в первых двух правилах с $1
.
Объяснение: у вас есть только один набор скобок в совпадении, поэтому обратная ссылка $2
не определено (и будет расширяться до пустой строки, отсюда и 404), тогда как $1
будет содержать текст, соответствующий (.*)