Temma, не надо ничего учитывать, надо просто правильно производить проверки, если нам нужен файл, то не сочинять никакие file_exists, а взять готовую функцию is_file, которая проверит не только существование файла, но и проверит, что он является именно файлом, а не директорией
Galtsev.T, простите, я думал это очевидно, что после названия модуля мы также можем передать GET параметры, которые также находятся в массиве $seg
Если вам так угодно вы можете отдавать error 404, если количество аргументов не совпадает или же ещё что.
Но описанную вами проблему это не решае
Вилы Выкидные, я с вами согласен. Слава богам мы не пытаемся подключить каталог или файл. Если вдруг мне придется работать с файловой системой и необходимо будет определить файл ли это я учту ваши замечания.