How to set the default page of my site? I want set the default frontpage of both my local and production site site.

In my local environment I created a content it has node id (/node/20) and it has URL alias of /homepage.
In the Basic site settings I set my default frontpage to /homepage

In the production environment I also create a content it has node id (/node/33) and it has URL alias of /homepage.
In the Basic site settings I set my default frontpage to /homepage.

Whenever I deploy something to the production environment, I export the configuration of my local environment (in the Drupal CMS) and I will import to the production environment.
But whenever I import my configuration to the production my default frontpage is setting my homepage to /node/33, why is drupal doing this? I specifically set the default page to /homepage.

I'm using drupal 8 by the way.
Drupal core expects only internal URL (node/123) in the page.front setting. See \Drupal\Core\Path\PathMatcher::isFrontPage.

To be able to set page alias in the front page settings, I have created
a workaround. I made a replacement of the path.matcher using an alias fallback:

mymodule/src/MymoduleServiceProvider.php:

&lt;?php

namespace Drupal\mymodule;

use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\DependencyInjection\ServiceProviderBase;
use Symfony\Component\DependencyInjection\Reference;

/**
 * Modifies the path matcher service.
 */
class MymoduleServiceProvider extends ServiceProviderBase {

  /**
   * {@inheritdoc}
   */
  public function alter(ContainerBuilder $container) {   
    // Override the path matcher for the alias fallback.
    $definition = $container-&gt;getDefinition('path.matcher');
    $definition-&gt;setClass('Drupal\mymodule\AliasFallbackPathMatcher')
      -&gt;addArgument(new Reference('path.alias_manager'));
  }
}


mymodule/src/AliasFallbackPathMatcher.php:

&lt;?php

namespace Drupal\mymodule;

use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Path\AliasManagerInterface;
use Drupal\Core\Path\PathMatcher;
use Drupal\Core\Routing\RouteMatchInterface;

/**
 * The path matcher with alias fallback implementation.
 */
class AliasFallbackPathMatcher extends PathMatcher {

  /**
   * The alias manager.
   *
   * @var \Drupal\Core\Path\AliasManagerInterface
   */
  protected $aliasManager;

  /**
   * Creates a new PathMatcher.
   *
   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
   *   The config factory.
   * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
   *   The current route match.
   * @param \Drupal\Core\Path\AliasManagerInterface $alias_manager
   *   The alias manager.
   */
  public function __construct(ConfigFactoryInterface $config_factory, RouteMatchInterface $route_match, AliasManagerInterface $alias_manager) {
    parent::__construct($config_factory, $route_match);
    $this-&gt;aliasManager = $alias_manager;
  }

  /**
   * {@inheritdoc}
   *
   * Support path alias for the front page path.
   */
  protected function getFrontPagePath() {
    if (!isset($this-&gt;frontPage)) {
      $path = parent::getFrontPagePath();
      $this-&gt;frontPage = $this-&gt;aliasManager-&gt;getPathByAlias($path);
    }
    return $this-&gt;frontPage;
  }

}