Iterating through all folders in a subdirectory to list RegularPages and access Params

In my /content/ folder, I previously had pages set up like so:

/content/posts
/content/posts/_index.html
/content/posts/mypost.html
/content/posts/mysecondpost.html

And was displaying them through the following range:

{{ range where (where .Site.RegularPages "Type" "posts") "File.Dir" "posts/" }}{{ end }}

This allowed me to list out all of the posts that were in that directory through their .Params.

The issue with that previous organization is that the posts were not able to appropriately have the layout applied. So the directory now resembles the following:

/content/posts
/content/posts/_index.html
/content/posts/mypost/_index.html
/content/posts/mysecondpost/_index.html

If I leave it at just (where .Site.RegularPages "Type" "posts") it displays nothing, so it must not recursively go through sub-directories. I could define "File.Dir" "posts/mypost/" etc, but that would require specifically naming each folder which is inefficient and difficult to maintain.

How do I recursively list out all posts in subdirectories through a .Range in order to access their .Params for each?