Available in OroCommerce

Setup a Website Host

Important

This section is a part of the Multi-Website Configuration concept guide topic that provides the general understanding of multiple website configuration concept in Oro applications.

In OroCommerce, websites may be exposed via different domains, or reside in the sub-folders of the same domain (e.g., the two websites that target the United States and the United Kingdom may be available at the https://us-store.com and https://uk-store.com respectively, or they may be reachable via https://store.com/us and https://store.com/uk).

For the websites with dedicated domains, you may use default OroCommerce installation, where all websites are installed into the web folder of the OroCommerce instance. However, you can move or copy the website to the sub-directory to support the websites with the shared domain (e.g., https://store.com/us and https://store.com/uk).

To prepare files for the website located in the sub-directory (e.g, /uk), do the following:

  1. Copy index.php from web directory into the new location (e.g., web/uk/) and modify it to update the relative paths (e.g. adding extra /.. prefix to the path).

    For example:

    1
    require_once __DIR__.'/../src/AppKernel.php';
    

    should be changed to

    1
    require_once __DIR__.'/../../src/AppKernel.php';
    
  2. Add WEBSITE_PATH parameter to ServerBag before $response = $kernel->handle($request); This parameter value should be the new website folder name.

    1
    2
    3
    4
    5
     ...
     $request = Request::createFromGlobals();
     $request->server->add(['WEBSITE_PATH' => '/<yoursitename>']);
     $response = $kernel->handle($request);
     ...
    

where <yoursitename> is uk in our example.

Now, when you use the http://localhost/<yoursitename>/index.php address, the asset files (styles.css, app.js, etc.) are taken from the root folder on the domain instead of the dedicated website sub-folder.

Related Topics