Чтобы использовать отдельные папки для разных магазинов под одним и тем же доменным именем, вы можете использовать релятивно новый «Добавить код магазина в URL» -описание.
Вы можете найти это описание под System > Configuration > Web > Url Options
. Путь core_config
- web/url/use_store
.
![screenshot: magento "add store-code to url"-option](https://i.stack.imgur.com/Aalil.png)
Для использования этой опции вы должны
- используют один и тот же базовый-адрес для магазинов (нет необходимости добавить папку
/wholesale
к базовому URL)
- Установить Код с тем же именем, который вы хотели бы иметь в качестве подпапки вашего базового URL-адреса (например, «оптовая торговля»)
![Animation showing the steps of adding the Magento store-code to the URL](https://i.stack.imgur.com/SvuKh.gif)
Это работает независимо от используемого вами веб-сервера. Поэтому никаких изменений в каких-либо файлах .htaccess не требуется.
Если вы хотите назвать сайт папки что-то другое, чем ваш магазин кода вам придется создать папку и добавить пользовательские index.php
к нему, который устанавливает правильный код магазина:
<?php
/**
* Error reporting
*/
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", 1);
ini_set("log_errors", 1);
} else {
error_reporting(E_ERROR);
ini_set("display_errors", 0);
ini_set("log_errors", 1);
}
/**
* Compilation includes configuration file
*/
define('MAGENTO_ROOT', dirname(getcwd()));
$compilerConfig = MAGENTO_ROOT . '/includes/config.php';
if (file_exists($compilerConfig)) {
include $compilerConfig;
}
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
$maintenanceFile = 'maintenance.flag';
php_dir('downloader')) {
header("Location: downloader");
} else {
echo $mageFilename." was not found";
}
exit;
}
if (file_exists($maintenanceFile)) {
include_once dirname(__FILE__) . '/errors/503.php';
exit;
}
require_once $mageFilename;
/**
* Enable developer mode
*/
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
Mage::setIsDeveloperMode(true);
}
umask(0);
Mage::run('wholesale', 'store');
Там почти не меняется от index.php по умолчанию, за исключением двух местах
- Вы должны сказать Magento, где его реальный корень:
define('MAGENTO_ROOT', dirname(getcwd()));
- И вы должны указать код магазина:
Mage::run('wholesale', 'store');
Все остальные строки являются стандартными Magento.
Теоретически вы также должны быть в состоянии выполнить то же самое с правилами перезаписи, но у меня никогда не было этого, чтобы работать должным образом.
Я использую веб-сервер Apache. – Mark