[SOLVED] Can't redirect the 'default' page to the main page site.com
Forum rules
Always add your Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
Always add your Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
- ЕвгенияСемихова(ИПСемиховаЕ.А.)
- Posts: 70
- Joined: 11 Jan 2025, 09:45
Re: Can't redirect the 'default' page to the main page site.com
A whole week of different experiences in the evenings on real and virtual servers (Open Server Panel 6). Dozens of different reinstalls. Lots of read instructions. I even studied the certificate system for an entire subdomain area (hello wildcard WC).
Appeals to AI...

I even posted a task on the freelancers exchange - they tried to help, I gave them access to the test server - but they didn't succeed either.

I'm already desperate. Allow me to reinstall the server, install the Hestia control panel, install apache2, Nginx (PHP-FPM) and MariaDB.
And make changes one step at a time.
---
Question number 1: I have a domen linked to the hosting (timeweb), on the hosting itself, the main second-level domain is linked to the server's ip address.
Now the question itself is: do I need to add the entire zone for third-level domains? In the likeness of "*.site.com "?

Please help me understand where I'm being stupid
Appeals to AI...

I even posted a task on the freelancers exchange - they tried to help, I gave them access to the test server - but they didn't succeed either.

I'm already desperate. Allow me to reinstall the server, install the Hestia control panel, install apache2, Nginx (PHP-FPM) and MariaDB.
And make changes one step at a time.
---
Question number 1: I have a domen linked to the hosting (timeweb), on the hosting itself, the main second-level domain is linked to the server's ip address.
Now the question itself is: do I need to add the entire zone for third-level domains? In the likeness of "*.site.com "?

Please help me understand where I'm being stupid

Debian 12, PHP 8.3, Server 1 = Aimeos 2024.10.13, Server 2 = ES 8.17.1
life is full of many new and interesting things
life is full of many new and interesting things
- ЕвгенияСемихова(ИПСемиховаЕ.А.)
- Posts: 70
- Joined: 11 Jan 2025, 09:45
Re: Can't redirect the 'default' page to the main page site.com
My second step is: add "'domain' => '{site}', " to shop.php file:
After this I have try to open "default.kitaidar.ru", bu now see Hestia's (control panel) index file:

now is better - I know than all 3 level's domains sending to my server's IP. Now need to understand how to resolve all of this ways to needed catalog with aimeos shop.
UPD: did I need to delete HestiaCP and try to work direct with apache? Or can adapt Hestia's config? I know that Hestia have own DNS packet named "BIND9" - can anyone answer: can I use it for my trouble?
UPD_2: can anyone say: why Russian's biggest marketplace (ozon) use URL like "site.com/seller/shop_name-id****/main_item_catalog/" ? Not simple, I think. Hmm, maybe the author of the aimeos software product did not just simple make the default addressing of stores in the catalog after the domain? Maybe this would be a better solution? Please help me decide.
Code: Select all
<?php
$multishop = $multiroute = [];
$prefix = env( 'SHOP_MULTILOCALE' ) ? '{locale}/' : '';
if( env( 'SHOP_MULTISHOP' ) ) {
$multishop = ['routes' => [
'admin' => ['domain' => '{site}', 'prefix' => 'admin', 'middleware' => ['web']],
'jqadm' => ['domain' => '{site}', 'prefix' => 'admin/{site}/jqadm', 'middleware' => ['web', 'auth', 'verified']],
'graphql' => ['domain' => '{site}', 'prefix' => 'admin/{site}/graphql', 'middleware' => ['web', 'auth', 'verified']],
'jsonadm' => ['domain' => '{site}', 'prefix' => 'admin/{site}/jsonadm', 'middleware' => ['web', 'auth', 'verified']],
'jsonapi' => ['domain' => '{site}', 'prefix' => '{site}/jsonapi', 'middleware' => ['web', 'api']],
'account' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/profile', 'middleware' => ['web', 'auth', 'verified']],
'default' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/shop', 'middleware' => ['web']],
'basket' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/shop', 'middleware' => ['web']],
'checkout' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/shop', 'middleware' => ['web']],
'confirm' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/shop', 'middleware' => ['web']],
'supplier' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/s', 'middleware' => ['web']],
'page' => ['domain' => '{site}', 'prefix' => $prefix . '{site}/p', 'middleware' => ['web']],
'home' => ['domain' => '{site}', 'prefix' => $prefix . '{site}', 'middleware' => ['web']],
'update' => ['domain' => '{site}'],
] ];
}
if( env( 'SHOP_MULTIROUTE' ) ) {
$multiroute = [
'client' => [
'html' => [
'catalog' => [
'multiroute' => true,
'detail' => [
'url' => [
'target' => 'aimeos_resolve',
'filter' => ['d_name', 'd_prodid', 'd_pos'],
],
],
'lists' => [
'url' => [
'target' => 'aimeos_resolve',
'filter' => [],
],
],
'tree' => [
'url' => [
'target' => 'aimeos_resolve',
'filter' => ['f_name', 'f_catid'],
],
],
],
'cms' => [
'page' => [
'url' => [
'target' => 'aimeos_resolve',
],
],
]
]
]
];
}
return array_replace_recursive( $multiroute, $multishop + [
'apc_enabled' => false, // enable for maximum performance if APCu is available
'apc_prefix' => 'aimeos:', // prefix for caching config and translation in APCu
'num_formatter' => 'Locale', // locale based number formatter (alternative: "Standard")
'pcntl_max' => 4, // maximum number of parallel command line processes when starting jobs
'version' => env( 'APP_VERSION', 1 ), // shop CSS/JS file version
'roles' => ['admin', 'editor'], // user groups allowed to access the admin backend
'panel' => 'dashboard', // panel shown in admin backend after login
'routes' => [
// Docs: https://aimeos.org/docs/latest/laravel/extend/#custom-routes
// Multi-sites: https://aimeos.org/docs/latest/laravel/customize/#multiple-shops
'admin' => ['prefix' => 'admin', 'middleware' => ['web']],
'jqadm' => ['prefix' => 'admin/{site}/jqadm', 'middleware' => ['web', 'auth']],
'graphql' => ['prefix' => 'admin/{site}/graphql', 'middleware' => ['web', 'auth']],
'jsonadm' => ['prefix' => 'admin/{site}/jsonadm', 'middleware' => ['web', 'auth']],
'jsonapi' => ['prefix' => 'jsonapi', 'middleware' => ['web', 'api']],
'account' => ['prefix' => $prefix . 'profile', 'middleware' => ['web', 'auth']],
'default' => ['prefix' => $prefix . 'shop', 'middleware' => ['web']],
'basket' => ['prefix' => $prefix . 'shop', 'middleware' => ['web']],
'checkout' => ['prefix' => $prefix . 'shop', 'middleware' => ['web']],
'confirm' => ['prefix' => $prefix . 'shop', 'middleware' => ['web']],
'supplier' => ['prefix' => $prefix . 's', 'middleware' => ['web']],
'page' => ['prefix' => $prefix . 'p', 'middleware' => ['web']],
'home' => ['prefix' => $prefix, 'middleware' => ['web']],
'update' => [],
],
'page' => [
// Docs: https://aimeos.org/docs/latest/laravel/extend/#adapt-pages
'account-index' => [ 'locale/select', 'basket/mini','catalog/tree','catalog/search','account/profile','account/review','account/subscription','account/basket','account/history','account/favorite','account/watch','catalog/session' ],
'basket-index' => [ 'locale/select', 'catalog/tree','catalog/search','basket/standard','basket/bulk','basket/related' ],
'catalog-count' => [ 'catalog/count' ],
'catalog-detail' => [ 'locale/select', 'basket/mini','catalog/tree','catalog/search','catalog/stage','catalog/detail','catalog/session' ],
'catalog-home' => [ 'locale/select','basket/mini','catalog/tree','catalog/search','catalog/home', 'cms/page' ],
'catalog-list' => [ 'locale/select','basket/mini','catalog/filter','catalog/tree','catalog/search','catalog/price','catalog/supplier','catalog/attribute','catalog/session','catalog/stage','catalog/lists' ],
'catalog-session' => [ 'locale/select','basket/mini','catalog/tree','catalog/search','catalog/session' ],
'catalog-stock' => [ 'catalog/stock' ],
'catalog-suggest' => [ 'catalog/suggest' ],
'catalog-tree' => [ 'locale/select','basket/mini','catalog/filter','catalog/tree','catalog/search','catalog/price','catalog/supplier','catalog/attribute','catalog/session','catalog/stage','catalog/lists' ],
'checkout-confirm' => [ 'catalog/tree','catalog/search','checkout/confirm' ],
'checkout-index' => [ 'locale/select', 'catalog/tree','catalog/search','checkout/standard' ],
'checkout-update' => [ 'checkout/update' ],
'supplier-detail' => [ 'locale/select','basket/mini','catalog/tree','catalog/search','supplier/detail','catalog/lists'],
'cms' => [ 'basket/mini','catalog/tree','cms/page' ],
],
'resource' => [
'db' => [
'adapter' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.driver', 'mysql' ),
'host' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.host', '127.0.0.1' ),
'port' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.port', '3306' ),
'socket' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.unix_socket', '' ),
'database' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.database', 'forge' ),
'username' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.username', 'forge' ),
'password' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.password', '' ),
'stmt' => config( 'database.default', 'mysql' ) === 'mysql' ? ["SET SESSION sort_buffer_size=2097144; SET NAMES 'utf8mb4'; SET SESSION sql_mode='ANSI'"] : [],
'limit' => 3, // maximum number of concurrent database connections
'defaultTableOptions' => [
'charset' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.charset' ),
'collate' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.collation' ),
],
'driverOptions' => config( 'database.connections.' . config( 'database.default', 'mysql' ) . '.options' ),
],
'fs' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => public_path(),
'baseurl' => rtrim(env('ASSET_URL', PHP_SAPI == 'cli' ? env('APP_URL') : ''), '/'),
],
'fs-media' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => public_path( 'aimeos' ),
'baseurl' => rtrim(env('ASSET_URL', PHP_SAPI == 'cli' ? env('APP_URL') : ''), '/') . '/aimeos',
],
'fs-mimeicon' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => public_path( 'vendor/shop/mimeicons' ),
'baseurl' => rtrim(env('ASSET_URL', PHP_SAPI == 'cli' ? env('APP_URL') : ''), '/') . '/vendor/shop/mimeicons',
],
'fs-theme' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => public_path( 'vendor/shop/themes' ),
'baseurl' => rtrim(env('ASSET_URL', PHP_SAPI == 'cli' ? env('APP_URL') : ''), '/') . '/vendor/shop/themes',
],
'fs-admin' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => storage_path( 'admin' ),
],
'fs-export' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => storage_path( 'export' ),
],
'fs-import' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => storage_path( 'import' ),
],
'fs-secure' => [
'adapter' => 'Standard',
'tempdir' => storage_path( 'tmp' ),
'basedir' => storage_path( 'secure' ),
],
'mq' => [
'adapter' => 'Standard',
'db' => 'db',
],
'email' => [
'from-email' => config( 'mail.from.address' ),
'from-name' => config( 'mail.from.name' ),
],
],
'admin' => [
'jqadm' => [
'api' => [
'openai' => [
'key' => env( 'SHOP_OPENAI_APIKEY' )
],
'translate' => [
'key' => env( 'SHOP_DEEPL_APIKEY' )
],
'removebg' => [
'key' => env( 'SHOP_REMOVEBG_APIKEY' )
],
]
]
],
'client' => [
'html' => [
'basket' => [
'cache' => [
// 'enable' => false, // Disable basket content caching for development
],
],
'common' => [
'cache' => [
// 'force' => true // enforce caching for logged in users
],
],
'catalog' => [
'lists' => [
'basket-add' => true, // shows add to basket in list views
// 'infinite-scroll' => true, // load more products in list view
// 'size' => 48, // number of products per page
],
'selection' => [
'type' => [// how variant attributes are displayed
'color' => 'radio',
'length' => 'radio',
'width' => 'radio',
],
],
],
],
],
'controller' => [
'frontend' => [
'catalog' => [
'levels-always' => 3 // number of category levels for mega menu
]
]
],
'i18n' => [
'en' => [
'client' => [
'Suppliers' => ['Brands']
]
]
],
'madmin' => [
'cache' => [
'manager' => [
// 'name' => 'None', // Disable caching for development
],
],
'log' => [
'manager' => [
// 'loglevel' => 7, // Enable debug logging into madmin_log table
],
],
],
'mshop' => [
'locale' => [
//'site' => 'kitaidar.ru', // used instead of "default"
]
],
'command' => [
],
'frontend' => [
],
'backend' => [
],
] );

now is better - I know than all 3 level's domains sending to my server's IP. Now need to understand how to resolve all of this ways to needed catalog with aimeos shop.
UPD: did I need to delete HestiaCP and try to work direct with apache? Or can adapt Hestia's config? I know that Hestia have own DNS packet named "BIND9" - can anyone answer: can I use it for my trouble?
UPD_2: can anyone say: why Russian's biggest marketplace (ozon) use URL like "site.com/seller/shop_name-id****/main_item_catalog/" ? Not simple, I think. Hmm, maybe the author of the aimeos software product did not just simple make the default addressing of stores in the catalog after the domain? Maybe this would be a better solution? Please help me decide.
Debian 12, PHP 8.3, Server 1 = Aimeos 2024.10.13, Server 2 = ES 8.17.1
life is full of many new and interesting things
life is full of many new and interesting things
Re: Can't redirect the 'default' page to the main page site.com
We don't know HestiaCP and the trouble you are having but we recommend a standard setup with Apache/Nginx, PHP-FPM and MySQL/MariaDB.ЕвгенияСемихова(ИПСемиховаЕ.А.) wrote: ↑30 Jan 2025, 15:36 UPD: did I need to delete HestiaCP and try to work direct with apache? Or can adapt Hestia's config? I know that Hestia have own DNS packet named "BIND9" - can anyone answer: can I use it for my trouble?
Using the seller as part of the URL path is the standard setup:ЕвгенияСемихова(ИПСемиховаЕ.А.) wrote: ↑30 Jan 2025, 15:36 UPD_2: can anyone say: why Russian's biggest marketplace (ozon) use URL like "site.com/seller/shop_name-id****/main_item_catalog/" ? Not simple, I think. Hmm, maybe the author of the aimeos software product did not just simple make the default addressing of stores in the catalog after the domain? Maybe this would be a better solution? Please help me decide.
yourdomain.com/shop/seller1
Alternative using subdomains:
seller1.yourdomain.com/shop
Alternative using custom domains:
seller1.com/shop
Documentation: https://aimeos.org/docs/latest/laravel/ ... he-routing
Seems like your biggest problems are getting your hosting environment and your DNS settings right.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos,
give us a star
If you like Aimeos,

- ЕвгенияСемихова(ИПСемиховаЕ.А.)
- Posts: 70
- Joined: 11 Jan 2025, 09:45
Re: Can't redirect the 'default' page to the main page site.com
big thanks for this unical system!!! I win it!
My errors:
1) don't need any Control Panel!!! Yes, it is very simple for every days, but not working right!!!
2) I have only add to "shop.php" only recommended "'domain' => '{site}', ", but not cut others {site} includings!!! - it is simple to view, when write command "php artisan route:list" and see at listing!!!
3) need to write at admin panel right url of stores!!! Or write right store's name when add it by artisan comand!
---
So, now all working:


Next step is wildcard SSL for all 3 level subdomains!
I've never felt such pleasure from solving a problem even when I was winning at chess!!!
UPD: with HestiaCP also work fine, just need to add to aliase "*.site.com":


My errors:
1) don't need any Control Panel!!! Yes, it is very simple for every days, but not working right!!!
Yes, you are right!!! Only clear OS by own hand's installin package!we recommend a standard setup with Apache/Nginx, PHP-FPM and MySQL/MariaDB.
2) I have only add to "shop.php" only recommended "'domain' => '{site}', ", but not cut others {site} includings!!! - it is simple to view, when write command "php artisan route:list" and see at listing!!!
3) need to write at admin panel right url of stores!!! Or write right store's name when add it by artisan comand!
---
So, now all working:


Next step is wildcard SSL for all 3 level subdomains!
I've never felt such pleasure from solving a problem even when I was winning at chess!!!

UPD: with HestiaCP also work fine, just need to add to aliase "*.site.com":


Debian 12, PHP 8.3, Server 1 = Aimeos 2024.10.13, Server 2 = ES 8.17.1
life is full of many new and interesting things
life is full of many new and interesting things