# Inconsistent MFE URL configs between local and production environments (\<domain\> vs \<domain\>/\<mfe\>)

**URL:** <https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749>\
**Category:** Development\
**Created:** [December 5, 2025, 5:40am UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749 "2025-12-05T05:40:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Peter\_Kulko](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/peter_kulko/32/8582_2.png) [@Peter\_Kulko](https://discuss.openedx.org/u/Peter_Kulko)\
**Post date:** [December 5, 2025, 5:40am UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/1 "2025-12-05T05:40:42Z")

</div>

Currently, during local development, the API [`http://apps.local.openedx.io:2001/api/mfe_config/v1?mfe=authoring`](http://apps.local.openedx.io:2000/api/mfe_config/v1?mfe=authoring) returns a configuration with the following values:

```auto
ACCOUNT_PROFILE_URL: "http://apps.local.openedx.io:1995/profile"

ACCOUNT_SETTINGS_URL: "http://apps.local.openedx.io:1997/account/"
...
LEARNING_BASE_URL: "http://apps.local.openedx.io:2000"

```

This means we have correct links for the Profile and Account MFEs (`<domain>/<mfe>`), but an incorrect one for the Learning MFE, where only the domain is provided without the MFE ID.

This issue becomes noticeable on the Pages & Resources page in the Authoring MFE. The View live button contains a link like:

`href="``http://apps.local.openedx.io:2000/course/course-v1:openedx+123+2024``"`

This URL points to a non-existent page in the Learning MFE, because the expected `/learning` ID is missing after the domain.

I believe this inconsistency should be addressed. All MFE URLs should follow a unified `<domain>/<mfe>` structure to ensure correct routing both locally and in production. The current `LEARNING_BASE_URL` value is just one example that highlights the problem, and similar issues may arise with other MFEs if the configuration is not standardized.

---

<div class="post-metadata">

**Author:** ![sarina](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/sarina/32/2308_2.png) [@sarina](https://discuss.openedx.org/u/sarina)\
**Post date:** [December 5, 2025, 3:21pm UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/2 "2025-12-05T15:21:57Z")

</div>

@arbrandes @brian.smith

---

<div class="post-metadata">

**Author:** ![brian.smith](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/brian.smith/32/4259_2.png) [@brian.smith](https://discuss.openedx.org/u/brian.smith)\
**Post date:** [December 5, 2025, 3:58pm UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/3 "2025-12-05T15:58:25Z")

</div>

> [@Peter\_Kulko](#):
>
> Currently, during local development, the API [`http://apps.local.openedx.io:2000/api/mfe_config/v1?mfe=authoring`](http://apps.local.openedx.io:2000/api/mfe_config/v1?mfe=authoring)

Is `2000` intentional here, or should it be `2001`?

I’m seeing `/learning` locally from [`http://apps.local.openedx.io:2001/api/mfe_config/v1?mfe=authoring`](http://apps.local.openedx.io:2001/api/mfe_config/v1?mfe=authoring):

```auto
"LEARNING_BASE_URL": "http://apps.local.openedx.io:2000/learning",

```

---

<div class="post-metadata">

**Author:** ![Peter\_Kulko](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/peter_kulko/32/8582_2.png) [@Peter\_Kulko](https://discuss.openedx.org/u/Peter_Kulko)\
**Post date:** [December 8, 2025, 4:49am UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/4 "2025-12-08T04:49:49Z")

</div>

> Is `2000` intentional here, or should it be `2001`?

Yes, fixed

> I’m seeing `/learning` locally from [`http://apps.local.openedx.io:2001/api/mfe_config/v1?mfe=authoring`](http://apps.local.openedx.io:2001/api/mfe_config/v1?mfe=authoring)

Have you overridden `LEARNING_BASE_URL` via `MFE_CONFIG_OVERRIDES`?

---

<div class="post-metadata">

**Author:** ![brian.smith](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/brian.smith/32/4259_2.png) [@brian.smith](https://discuss.openedx.org/u/brian.smith)\
**Post date:** [December 8, 2025, 3:24pm UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/5 "2025-12-08T15:24:00Z")

</div>

> [@Peter\_Kulko](#):
>
> Have you overridden `LEARNING_BASE_URL` via `MFE_CONFIG_OVERRIDES`?

I have not.

---

<div class="post-metadata">

**Author:** ![Peter\_Kulko](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/peter_kulko/32/8582_2.png) [@Peter\_Kulko](https://discuss.openedx.org/u/Peter_Kulko)\
**Post date:** [December 18, 2025, 9:12am UTC](https://discuss.openedx.org/t/inconsistent-mfe-url-configs-between-local-and-production-environments-domain-vs-domain-mfe/17749/6 "2025-12-18T09:12:38Z")

</div>

Recently, changes were introduced that address this issue in the Learning MFE.

> <https://github.com/overhangio/tutor-mfe/commit/e08b72d9024586a6d0475f6ef49ce182b5a27750>
