我目前用于捕获所选语言的重写规则是:
RewriteRule ^language/([A-Za-z-]{2,5})/?$ /yadayada.php?hl=$1 [QSA,L]
所以它会抓住这些:
但是,语言代码只能包含2个字母(例如:en,es,de)或5个字母(例如:zh-TW)。问题是它应不接受任何这些(3或4个字母,或全部5个小写字母):
有什么想法吗?谢谢!
答案 0 :(得分:8)
我会把它分开:
RewriteRule ^language/([a-z]{2}|[a-z]{2}-[A-Z]{2})/?$ /yadayada.php?hl=$1 [QSA,L]
匹配是否有2个小写字母(例如' de'或' en'或' fr')或如果有2个小写字母后跟一个破折号和2个大写字母(例如' zh-TW'或' zh-CN')。