В вашем последнем правиле перезаписи попробуйте экранировать квадратные скобки.Также, если вам нужно сопоставить пробелы, вы должны включить туда \ s:
^blog.php/(\d+)/([A-Za-z0-9-_\[\]\s]+)/?$
Или, возможно, рассмотрите более простой способ, который принимает в заголовке что-либо:у вас не должно быть пробелов в ваших URL.Они должны быть экранированы до "+" или% 20.Таким образом, в зависимости от этого ваше регулярное выражение изменится, кроме последнего, которое я предложил, должно работать.