Подскажите с регуляркой в .htaccess
Сделал вот такой правило для подключения нужного языка(если задано) и собственно самой страницы:
RewriteRule ^(ua|ru|eng)?/?log/?$ index.php?module=Log&lang=$1 [L,QSA]
По такому правилу работают 3 ссылки:
- site.com/log
- site.com/ua/log
- site.com/ualog
Как можете видеть, 3 вариант довольно странный и может вредить в SEO(но это не точно). Причиной работы 3 ссылки является знак вопроса /?log. Если убрать этот знак вопроса, то при таком правиле не будет работать 1 пункт из списка. Как оставить 1 и 2 пункт, но исключить 3?
Ответы (1 шт):
Как вариант попробовать использовать дополнительную необязательную группу
((ua|ru|eng)?/)?log/?$
в данном случае будет изменена группа подставляемая lang на вторую и нужно будет использовать lang=$2
В дополнительной группе условие обязательное наличие /, т.е. совпадения не произойдет в случае если будет ualog.