diff -u b/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php b/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php --- b/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php +++ b/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php @@ -274,6 +274,8 @@ $entity->enabled->value = (bool) $new_definition['enabled']; $entity->expanded->value = $new_definition['expanded']; + $entity->link->uri = $form_state->getValue('url'); + return $entity; } diff -u b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php --- b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php +++ b/core/modules/menu_link_content/src/MenuLinkContentAccessControlHandler.php @@ -65,7 +65,7 @@ // If there is a URL, this is an external link so always accessible. $access = AccessResult::allowed()->cachePerRole()->cacheUntilEntityChanges($entity); /** @var \Drupal\menu_link_content\MenuLinkContentInterface $entity */ - if ($entity->getUrlObject()->isRouted()) { + if (!$entity->getUrlObject()->isRouted()) { $url_object = $entity->getUrlObject(); // We allow access, but only if the link is accessible as well. if ($url_object->isRouted()) {