Попробуйте переключить оба правила и добавить флаг L
:
RewriteRule ^(.*)/(.*)/$ index.php?$1&page=$2 [L]
RewriteRule ^(.*)/$ index.php?$1 [L]
.*
, соответствующий каждой последовательности символов.Это означает, что user/edit/
совпадает с user/
.Сначала нужно поместить более конкретное правило, чтобы убедиться, что между ними стоит /
.Я предлагаю вам изменить эти правила на что-то вроде этого, поскольку другие правила могут соответствовать вещам, которые вы не намеревались:
RewriteRule ^([^/]+)/([^/]+)/$ index.php?$1&page=$2 [L]
RewriteRule ^([^/]+)/$ index.php?$1 [L]
[^/]+
будет соответствовать каждой последовательности, которая не содержит /
.