А если в разделе /news/ может быть много разных подразделов?
Структура такая:
/news/ - раздел
/news/123/ - одна запись по {entry_id}
/news/single/ - одна запись по {url_title}
/news/dir/ - подраздел
/news/dir/123/ - одна запись по {entry_id}
/news/dir/single/ - одна запись по {url_title}
Нужна всего одна глобальная переменная, которая определяет наличие в URL entry_id. И я так понимаю она где-то точно есть, ведь {exp:channel:entries} как-то определяет показывать одну запись или список. Например, если в шаблоне /news/ использовать тег:
{exp:channel:entries channel="news" limit="10"}
<a href="{entry_id_path=news}">{title}</a>
{/exp:channel:entries}
Он выведет 10 записей. И если кликнуть на одну ссылку он покажет одну конкретную запись. Значит как-то определяет, что там {entry_id} или {url_title}, а не категория или пагинатор.