dotCMS / dotCMS/core

URLMAP_FALLTHROUGH no longer functional

Open
#33,062 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stale Team : Scout Type : Defect
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Problem Statement

The expected behavior for this variable is as follows:

  1. If it's set to true (default), then 404s will behave the same way for all patterns
  2. If false, then URL-mapped detail pages will still match their patterns, even when they don't have a contentlet corresponding to the input (i.e., each detail page will have to handle its own 404 case)

Mark Pitely observes that DOT_URLMAP_FALLTHROUGH appears not to do anything:

I put in the following in the Config Overrides in the Maintenance/System Info:
DOT_URLMAP_FALLTHROUGH false
But it doesn’t work at all. I just get ‘404’ (/inventory/kawasaki renders, but /inventory/kasasaki goes to a 404 page.)
I did restart the entire system after putting in the Config Override.

I tested this on Demo and can confirm that setting it to false resulted in no behavior changes.

Curiously, if I set URLMAP_FALLTHROUGH false, without the DOT_ prepend, I DID notice a change in behavior, but it was not the expected one: Now, the built 404 page was no longer being used anywhere on the site, irrespective of URL pattern.

Even after I remove the variables from maintenance pane (and confirm via the System Table endpoints that they were indeed deleted), the old behavior never resumes. Tried restarting demo, flushing cache, etc. So, there's something very odd going on with this variable!

Steps to Reproduce
  1. Open a local test instance with the demo site
  2. Go to any blog page
  3. add some random characters to the slug to see the 404 page
  4. try a non-blog 404, such as /asdfjkl
  5. note the similarity
  6. go to Settings -> Maintenance -> System Info -> Config Overrides (at the bottom)
  7. Enter key DOT_URLMAP_FALLTHROUGH and value false
  8. Restart demo via Maintenance -> Tools
  9. note the earlier links look the same
  10. Now try URLMAP_FALLTHROUGH with value false
  11. Restart, try again
  12. Things may look different!
  13. Remove the variables, restart again
  14. links still result as if in 12

(Note also that the only place in the codebase that I can find "URLMAP_FALLTHROUGH" is in the config.properties file, and the blame indicates that was last changed ~13 years ago.)

Acceptance Criteria

DOT_URLMAP_FALLTHROUGH should behave as indicated at the beginning of this issue's problem statement.

dotCMS Version

dotcms-core 25.08.20-01 (August 20, 2025 5:58 PM)

Proposed Objective

Quality Assurance

Proposed Priority

Priority 3 - Average

External Links... Slack Conversations, Support Tickets, Figma Designs, etc.

https://community.dotcms.com/t/urlmap-pattern-description-fallthrough/226

Assumptions & Initiation Needs

No response

Quality Assurance Notes & Workarounds

No response

Sub-Tasks & Estimates

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the behavior with the demo site and the Config Overrides in Maintenance/System Info, then search config.properties and the codebase for URLMAP_FALLTHROUGH and DOT_URLMAP_FALLTHROUGH. Verify both settings and their removal after restart; done means DOT_URLMAP_FALLTHROUGH false preserves URL-mapped detail-page handling while normal and nonmatching 404 behavior follows the stated expectations.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.