Переместите ваш код выше Код WordPress по умолчанию.
Это потому, что WordPress уже переписывает пути, которые не существуют как реальные файлы, и указывает [L]
модификатор, который означает «последний». Таким образом, ваша перезапись будет проигнорирована, если предыдущая перезапись будет соответствовать.
В случае вашего кода хорошо, что он имеет [L]
, потому что он также имеет [R=301]
, что в любом случае вызывает "реальное" перенаправление поэтому переписывание WordPress должно происходить по следующему запросу, а не по текущему.