Я не эксперт .htaccess, но мне кажется, что ваша существующая установка будет работать. То, что он делает, это берет данное uri и находит целое число внутри него - где угодно внутри него. Затем он игнорирует весь другой текст в URI, переписав его как index? Id = $ 1. $ 1 - это просто найденное целое число, например, 56.
Вы могли бы быть более явным и попробовать что-то вроде этого:
RewriteEngine on
Options +Followsymlinks
RewriteRule DIR\/([0-9]+)(\/)? index.php?id=$1
Однако я вполне уверен, что ваши причудливые URL-адреса будут работать без изменений.