Это потому, что вы разместили правила в неправильном порядке.
Первое правило проверяется и выполняется, потому что author
- первая строка в обоих URL-адресах.
/author
/author/submit/1
/author/blah
/author/blah/blah/blah/blah/blah
Все приведенные выше URL будут соответствовать первому правилу, поэтому оно будет выполнено.
[L] (что означает last ) в концеправило означает, что оно не будет обрабатывать другие правила, если это правило будет выполнено.
Но если вы измените порядок правил перезаписи, оно сначала проверит, соответствует ли URL-адрес /author/submit/1
, и, еслиэто выполнит, он выполнит это переписывание и затем остановится;но если этого не произойдет, он перейдет к следующему правилу, которое в вашем примере будет /author
.