Рефакторинг mod_rewrite в зависимости от наличия строки запроса - PullRequest
0 голосов
/ 23 февраля 2011
RewriteCond %{QUERY_STRING} lang_opt\=E  
RewriteRule /lc/courses.asp english-resource [R=301,NC,L]

RewriteCond %{QUERY_STRING} lang_opt\=F  
RewriteRule /lc/courses.asp french-resource  [R=301,NC,L]

RewriteRule /lc/courses.asp english-resource [R=301,NC,L]

Ссылка поставляется в 3 вариантах
/lc/courses.asp
/lc/courses.asp?lang=E
/lc/courses.asp?lang=F

Есть ли более элегантный способ справиться с этими 3 вариантами ссылки. У меня их довольно много, и 5 строк mod_rewite за каждый кажутся излишними.

Спасибо

1 Ответ

0 голосов
/ 24 февраля 2011

Поскольку по умолчанию используется английский, вам нужно только искать французский и перенаправить все остальное на английский:

RewriteCond %{QUERY_STRING} lang_opt=F
RewriteRule ^/lc/courses\.asp$ french-resource  [R=301,NC,L]
RewriteRule ^/lc/courses\.asp$ english-resource [R=301,NC,L]
...