Stratus Guides - Multistore Subfolder Configuration Method
If you would like to use the same domain, but use different stores per subfolder (such as /us, /ca, /fr, /en, etc.), you should use the subfolder method instead of the standard method for multistore configuration.
Create the desired folder within the
/pub/directory in your root directory (for this example, we will use “en”).mkdir /srv/public_html/pub/enCreate the required symlinks within the new folder. Make sure they are absolute to prevent any issues with [autoscaling](/docs/reference/stratus/control-panels/autoscaling/ “Autoscaling control panel”/). For example:
cd /srv/public_html/pub/en ln -s /srv/public_html/app app
Once completed, the `/en` directory should appear like this:
lrwxrwxrwx 1 www www 10 Mar 23 14:07 app -> /srv/public_html/app/
lrwxrwxrwx 1 www www 19 Mar 23 14:08 index.php -> /srv/public_html/pub/index.php
lrwxrwxrwx 1 www www 10 Mar 23 14:08 lib -> /srv/public_html/lib/
lrwxrwxrwx 1 www www 27 Mar 23 17:13 media -> /srv/public_html/pub/media/
lrwxrwxrwx 1 www www 28 Mar 23 17:13 static -> /srv/public_html/pub/static/
lrwxrwxrwx 1 www www 10 Mar 23 14:08 var -> /srv/public_html/var/
- Add the following code to the [Nginx includes](/docs/reference/stratus/control-panels/nginx-panel/includes/ “Nginx Includes control panel”/). Adjust the subfolder name, “/en”, in each occurence (7) to the actual subfolder you prefer, and the store code, “en_store_view”, in the one occurence.
`location /en/ { index index.php index.html index.htm; try_files $uri $uri/ /en/index.php?$args ; location ~* .php$ { expires off; fastcgi_pass php-fpm; fastcgi_keep_conn on; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param MAGE_RUN_CODE "en_store_view";
fastcgi_param MAGE_RUN_TYPE "store";
fastcgi_param UNIQUE_ID $connection.$connection_requests;
fastcgi_param HTTPS $http_x_ssl_offloaded if_not_empty;
}
location ~ ^/en/static/version {
rewrite ^/en/static/(version\d*/)?(.*)$ /en/static/$2 last;
}
location /en/media/ {
try_files $uri $uri/ /get.php$is_args$args;
location ~ ^/en/media/theme_customization/.*\.xml {
deny all;
}
location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ {
add_header Cache-Control "public";
add_header X-Frame-Options "SAMEORIGIN";
expires +1y;
try_files $uri $uri/ /get.php$is_args$args;
}
location ~* \.(zip|gz|gzip|bz2|csv|xml)$ {
add_header Cache-Control "no-store";
add_header X-Frame-Options "SAMEORIGIN";
expires off;
try_files $uri $uri/ /get.php$is_args$args;
}
add_header X-Frame-Options "SAMEORIGIN";
}
}
Have questions not answered here?
Contact Support
to get more help.
Last modified on June 3, 2026