Я думаю, что вы, вероятно, хотите:
RewriteRule ^news/categories/([a-zA-Z]+)/([0-9]+)-([a-zA-Z0-9-]+) /news/view-article.php?category=$1&id=$2&title=$3 [NC]
В вашей версии в заголовке допускаются только буквы (a-zA-Z), поэтому регулярное выражение не соответствует тире. Вышеуказанное должно совпадать с тире, а также позволит использовать цифры в заголовке (что, я подозреваю, вы захотите разрешить).
Вы можете даже просто захотеть сделать:
RewriteRule ^news/categories/([a-zA-Z]+)/([0-9]+)-(.+) /news/view-article.php?category=$1&id=$2&title=$3 [NC]
... и разрешить любой символ в заголовке - с этим легко обойтись, поскольку заголовок является последней частью URL.