Parent Application Mapping ignores child application.cfc

Mappings defined in Parent level Application.cfc outright ignore child application.cfc files. Whereas If the mapping is defined at the server level via Lucee Admin the application.cfc file found within the mapping is executed as expected.

c:\wwwroot\application.cfc (root) -> this.mappings={’/a’=‘f:\vpath’}

/a/application.cfc - ignore/not executed
/a/index.cfm - loads ignoring sibling application.cfc and uses root application.cfc

Java Version: 1.8.0_265 (AdoptOpenJDK) 64bit
Tomcat Version: Apache Tomcat/9.0.35
Lucee Version: Lucee |

each Application.cfc is a single unique “app / zone”, there’s no parent / child relationship.

the admin configured mappings work because they are site (web admin) or server wide (server admin)

An application.cfc that resides in a sub-directory can either override or extend an application.cfc that resides in a parent-level directory. This is a longstanding function of cfml . The Application listener mode default even outlines this functionality

Current to root (CFML default)
Looks for the file “Application.cfc/Application.cfm” from the current up to the webroot directory.

The issue I’m seeing is that application mappings defined within a root application.cfc are ignoring the application listener defaults in Lucee, whereas those same mappings work just fine in ACF without the need to define them at the server level.

I should literally be able to throw an application.cfm with a < cfabort /> tag into a subdirectory/mapping and any cfml found within should be prevented from executing.

This currently does work when:

  1. It’s a physical subdirectory
  2. It’s a mapping defined at the server level (server admin)
  3. It’s a mapping defined at the web context level (web admin)
  4. It’s a mapping defined in a root application.cfc and you’re running ACF not Lucee.