Magento multi-almacén dispositivo con diferentes URL / Dominios (Magento 1 und Magento 2)

IMAGENCómo configurar Magento 1.7 UN, de modo que con URL diferente o. Dominios varias tiendas / Tiendas bzw. Sitios web puede alcanzar?

Anteriormente, era el index.php alcanzado. Ahora bien, esto puede directamente sobre el .htaccess logrado.

IMAGENEn el primer paso se da cuenta de la Códigos los diversos Sitios web. Posteriormente, el htaccess. Abierto y en la parte inferior de la siguiente Código añadido para cada sitio:

SetEnvIf Host www  .Domain1  .de MAGE_RUN_CODE = base
SetEnvIf Host www  .Domain1  .de MAGE_RUN_TYPE = sitio web
SetEnvIf Host ^ Domain1  .de MAGE_RUN_CODE = base
SetEnvIf Host ^ Domain1  .de MAGE_RUN_TYPE = sitio web

La línea 1 Y 2 da “SI – DESPUÉS” un. La línea 3 Y 4 disponible en el caso de que el dominio se introduce sin www.
Dignidad para el dominio 2 der Website Código dominio2 ESTAR, entonces sería

SetEnvIf Host www  .Domain2  .de MAGE_RUN_CODE = domain2
SetEnvIf Host www  .Domain2  .de MAGE_RUN_TYPE = sitio web
SetEnvIf Host ^ Dominio2  .de MAGE_RUN_CODE = dominio2
SetEnvIf Host ^ Domain2  .de MAGE_RUN_TYPE = sitio web

Si varias direcciones URL para que apunte a una y la misma web, Esto también se puede añadir, por ejemplo,.

SetEnvIf Host www  .Domain2  .de MAGE_RUN_CODE = domain2
SetEnvIf Host www  .Domain2  .de MAGE_RUN_TYPE = sitio web
SetEnvIf Host ^ Dominio2  .de MAGE_RUN_CODE = dominio2
SetEnvIf Host ^ Domain2  .de MAGE_RUN_TYPE = sitio web
SetEnvIf Host www  .Domain3  .de MAGE_RUN_CODE = domain2
SetEnvIf Host www  .Domain3  .de MAGE_RUN_TYPE = sitio web
SetEnvIf Host ^ Dominio3  .de MAGE_RUN_CODE = dominio2
SetEnvIf Host ^ Domain3  .de MAGE_RUN_TYPE = sitio web

Soll nur ein Store angesprochen werden, sähe der einzufügende Code so aus:

SetEnvIf Host www  .Domain2  .de MAGE_RUN_CODE = domain2
SetEnvIf Host www  .Domain2  .de MAGE_RUN_TYPE = store
SetEnvIf Host ^ Dominio2  .de MAGE_RUN_CODE = dominio2
SetEnvIf Host ^ Domain2  .de MAGE_RUN_TYPE = store

Im Falle eines Storeviews dann so

SetEnvIf Host www  .Domain2  .de MAGE_RUN_CODE = domain2
SetEnvIf Host ^ Dominio2  .de MAGE_RUN_CODE = dominio2

In bestimmten Fällen (bestimmte Serverkonfigurationen) kann es sein, dass dies alleine nicht ausreichend ist. Hier müsste man dann noch in der index.php eine kleine Änderung machen. Hier wird dann der Code

/* Tienda o código del sitio web */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'Store';

Mago::ejecutar($mageRunCode, $mageRunType);

en

/* Tienda o código del sitio web */
$mageRunCode = isset($_SERVER['REDIRECT_MAGE_RUN_CODE']) ? $_SERVER['REDIRECT_MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['REDIRECT_MAGE_RUN_TYPE']) ? $_SERVER['REDIRECT_MAGE_RUN_TYPE'] : 'Store';

Mago::ejecutar($mageRunCode, $mageRunType);

cambiado. Es wird dann ein Redirect beim Server angestoßen.

Weitere Beiträge mit Informationen zum Wechsel von Stores, Websites etc. gibt es in este und in este Eintrag.

ACTUALIZACIÓN del 06.09.2019

Después de una actualización del servidor en Ubuntu 18.04 trabajado los desvíos en cada sitio sin más y se convirtió en la norma- / sitio principal dirigida. Ya no era posible conseguir los deseados tiendas de las URLs.

Para solucionar este problema, era necesario o.g. para hacer el cambio y otra vez en el código original index.php invertido

/* Tienda o código del sitio web */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'Store';

Mago::ejecutar($mageRunCode, $mageRunType);

utilizar.

Se utiliza en las versiones de Magento 1.7-1.9 PREGUNTAR, Comentarios, Propuestas? Nosotros directamente o como un comentario.

2.x Magento esto se hace de manera similar.

Básicamente, será más que suficiente para hacer sólo las entradas en el .htaccess (como se describió anteriormente). Si esto no es suficiente, también se puede hacer con index.php (recientemente en la carpeta / pub /) para ser trabajado. Para mí funcionó en la mayoría de los casos con el ajuste .htaccess.

De lo contrario se usa en las líneas siguientes index.php (en la salida })

$params = $ _SERVER;
si( in_array($params["HTTP_HOST"], formación("www.meinewunschdomain.de","meinewunschdomain.de")) ){
	$params[\Magento  tienda  Model  StoreManager::PARAM_RUN_CODE] = '' codedesstoreviews;
	$params[\Magento  tienda  Model  StoreManager::PARAM_RUN_TYPE] = 'Tienda';
}más{
	$params[\Magento  tienda  Model  StoreManager::PARAM_RUN_CODE] = '' codedesstandardstoreviews;
	$params[\Magento  tienda  Model  StoreManager::PARAM_RUN_TYPE] = 'Tienda';
}

“codedesstoreviews” aquí es la StoreView especial, distinto del predeterminado. usted tiene URL de base de forma normal, por ejemplo,. Siempre un dominio .com y sólo desea utilizar para la tienda alemana ver el dominio .com, esto sería por ejemplo. Sun puede parecer más arriba.

Actualización de 05.05.2021

Estaba en magento 2.2 todavía funcionó, ya no funcionó en la próxima versión. Luego se recomendó el siguiente código:


$params = $_SERVER;

switch($_SERVER['HTTP_HOST']) {

        case 'meinewunschdomain.de':
        #case 'www.meinewunschdomain.de':
             $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'codedesstoreviews';
                         $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'store';
        break;


        case 'meinewunschdomain2.de':
        #case 'www.meinewunschdomain2.de':
             $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'codedesstandardstoreviews';
                         $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'store';
        break;
    }

(por cierto, simplemente se puede utilizar en lugar de “almacenar” la palabra “sitio web” verwendet werden, si desea utilizar el código del sitio web respectivo o. quiere acceder al sitio web.

Actualización de 12.08.2021

Desafortunadamente, este código funcionó en Magento 2.4.2 otra vez no más y así vino - como con Magento 1- .htaccess vuelve a entrar en juego. Entonces ya no es necesario un ajuste del index.php o. superfluo.

SetEnvIf Host ^(.*)meinewunschdomain.de MAGE_RUN_CODE=codewebsite
SetEnvIf Host ^(.*)meinewunschdomain.de MAGE_RUN_TYPE=website

En este caso, una vez usé el código de un sitio web, porque solo necesitaba este. Si en lugar de lo anterior. El dominio quiere usar un subdominio, simplemente reemplace ^ con el subdominio apropiado.

Utilizado en muchas versiones de Magento. PREGUNTAR, Comentarios, Propuestas? Nosotros directamente o como un comentario.

Publicado por Covos

DESDE 2009 He estado trabajando intensamente con Magento. Empecé con la creación y el funcionamiento de las tiendas B2C. Esto se extendió a través de mi trabajo en el sector de la logística. Esto dio lugar a sistemas especializados primera B2E. Hoy trabajo del día a día con una emocionante B2C, B2B- y proyectos B2E e informes en este blog sobre los desafíos y dan consejos de expertos.

Un pensamiento sobre “Magento multi-almacén dispositivo con diferentes URL / Dominios (Magento 1 und Magento 2)”

Deja un comentario

Su dirección de correo electrónico no será publicado. Los campos obligatorios están marcados *