diff --git a/packages/react-scripts/layout/views/layout.ejs b/packages/react-scripts/layout/views/layout.ejs index 39b2a49a20..5b5878187f 100644 --- a/packages/react-scripts/layout/views/layout.ejs +++ b/packages/react-scripts/layout/views/layout.ejs @@ -19,7 +19,16 @@ <% if (typeof manifestJsonExists === 'undefined' || manifestJsonExists) { %> - + <% + // Construct manifest URL using URL constructor to extract relative path with query params + // Supports both normal app paths and appPathOverride for special routing scenarios + // e.g., http://localhost:5006/africa?lang=en becomes /africa/manifest.json?lang=en + var basePath = typeof appPathOverride !== 'undefined' ? appPathOverride : appPath(''); + var url = new URL(basePath); + url.pathname = url.pathname.replace(/\/$/, '') + '/manifest.json'; + var manifestUrl = url.pathname + url.search; + %> + <% } %>