1.Нет необходимости в 2 правилах, выполняющих одну и ту же работу (единственное отличие - наличие конечного слеша).
2.Нет необходимости иметь a-zA-Z
в шаблоне, если у вас есть флаг [NC]
- достаточно a-z
.
3.Попробуйте правило без ./
Учитывая все вышеперечисленное правило станет:
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?s=$1 [L,NC,QSA]
PS Я также добавил флаг QSA
, чтобы сохранить оригиналСтрока запроса (если имеется).
Правило проверено и работает нормально.Если он по-прежнему не работает, отправьте ALL правила переписывания, которые у вас есть.