Cómo obtener una base segura url sin index.php

10

Quiero conseguir base-secure-urlsin index.php.

Lo habilité index.phppor alguna razón. Ahora tengo un archivo PHP en el directorio raíz de Magento, y quiero llamar a páginas seguras de Magento desde este archivo PHP.

Nota: tengo varias tiendas en mi sitio

Proporcione más ideas sobre esto.

Amit Bera
fuente
¿Me puede decir el camino para esto? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); lo siento. Soy nuevo en magento
Sandy
Si tiene una nueva pregunta, hágala haciendo clic en el botón Hacer pregunta . Incluya un enlace a esta pregunta si ayuda a proporcionar contexto. - De la opinión
Jai
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran aclaración del autor de la pregunta . - De la opinión
Rohan Hapani 15/0718

Respuestas:

15
Mage::getStoreConfig(Mage_Core_Model_Url::XML_PATH_SECURE_URL);

Menciono esto porque nadie más lo ha hecho, pero prefiero usar Mage::getUrlo Mage::getBaseUrl. Ambos detectan automáticamente si la página ya es segura cuando no la especifica.

Clockworkgeek
fuente
¿está funcionando en una tienda múltiple con un nombre de dominio diferente
Amit Bera
Puede especificar una tienda con el segundo parámetro de getStoreConfig. Acepta una identificación, un código (como se establece en admin) o un Mage_Core_Model_Storeobjeto, solo use lo que tenga disponible en su código.
clockworkgeek
2
Reemplazar 'Mage :: getUrl' con 'Mage :: getBaseUrl' fue el truco para mí
Ronny
11

como dijo @Aphroz, puedes usar

Mage::getBaseUrl( Mage_Core_Model_Store::URL_TYPE_WEB, true );

para recuperar la base segura url. Esto devuelve url segura porque la hemos especificado a través del segundo parámetro true. Aquí el primer parámetro se especifica como Mage_Core_Model_Store::URL_TYPE_WEB. Esto significa que el método devuelve el valor correspondiente a este campo de configuración del sistema web/secure/base_url. Este campo es el valor que especificamos en

 System  >  Configuration  > Web  >  Secure url

así que si este campo no se usa index.phpallí junto con la url base, entonces el método no dará index.php junto con la url. Si se mantiene index.php, devolverá lo mismo. Entonces, para garantizar que index.php no esté allí, puede usar la str_replacefunción.

Rajeev K Tomy
fuente
¿Soy el único que piensa que esto es un error en Magento? El sistema debe saber cuándo estoy en una URL segura y luego, por defecto, todos sus Mage :: getBaseUrl () para proteger.
Gerfried
5

Debajo de la lista de acceso URL

Obtenga URL en páginas CMS o bloques estáticos

  1. URL base:

    {{base url=''}}
  2. URL de la tienda:

    {{store url='test.html'}}

    también solo almacenar URL

    {{store url=""}}
  3. URL de medios:

    solo obtener URL de medios

    {{media url=''}}

    si obtienes alguna ruta de carpeta

    {{media url='imagefolder/imagename.jpg'}}
  4. URL de la piel:

    {skin url='images/imagename.jpg'}}

    solo obtener URL de máscara

    {skin url=''}}


Obtenga URL en archivos PHP (incl. Plantillas / PHTML)

  1. Obtener Base Url en magento:

    $baseurl = Mage::getBaseUrl();

    Obtenga la URL base sin index.php

    Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
    
    // output: http://example.com/
  2. URL actual

    $currentUrl = Mage::helper('core/url')->getCurrentUrl();

    o

    $currentUrl = Mage::getUrl('*/*/*', array('_current' => true));

    o

    if (!in_array(Mage::app()->getFrontController()->getAction()->getFullActionName(), array('cms_index_noRoute', 'cms_index_defaultNoRoute'))) 
    {
        $currentUrl = Mage::helper('core/url')->getCurrentUrl();
    }
  3. URL de la piel:

    $skinUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

    URL de máscara no segura:

    $skinUrl = $this->getSkinUrl('images/imagename.jpg');

    URL segura de la piel:

    $this->getSkinUrl('images/imagename.gif', array('_secure'=>true));
  4. URL de medios

    $mediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);

    o

    $mediaUrl = Mage::getBaseUrl('media');
  5. Obtener URL de Js:

    $jsUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);

    o

    $jsUrl = Mage::getBaseUrl('js');
  6. obtener la URL de la tienda:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. Obtener URL de inicio:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Obtener rutas de directorio

    Mage::getBaseDir('design') // Get design directory path
    Mage::getBaseDir('code')   // Gives code directory file path
    Mage::getBaseDir('lib')    // Gives lib directory file path
    Mage::getBaseDir('skin')   // Gives skin directory file path
    Mage::getBaseDir('var')    // Gives var directory file path
    Mage::getBaseDir('cache')  // Gives cache directory file path
    Mage::getBaseDir('log')    // Gives log directory file path
  9. Crear URL del módulo:

    Mage::getUrl('module/controller/action');

Obtenga más detalles sobre obtener URL

Kailas
fuente
3

Esto debería funcionar:

Mage::getBaseUrl('link',true);

Corto y dulce.

Milan Simek
fuente
Ese es el enfoque más sólido, ya que incluirá cualquier store_code para url, si ese es el caso
Raul Sanchez
1

¿No puedes usar esto?

str_replace('index.php','whatever.php',Mage::getBaseUrl('web', true));
Afroz
fuente
2
Amigo, no es la forma correcta ...
Amit Bera
1
Entonces Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB, verdadero) como se menciona aquí: stackoverflow.com/questions/15002254/…
Aphroz
no dio resultado cuando usé url segura
Amit Bera
No estoy seguro, pero el archivo .htaccess puede ser útil
Trimantra Software Solution