Come ottenere l'URL sicuro di base senza index.php


10

Voglio andare base-secure-urlsenza index.php.

Ho abilitato index.phpper qualche motivo. Ora ho un file PHP nella directory principale di Magento e desidero chiamare pagine sicure di Magento da questo file PHP.

Nota: ho più negozi nel mio sito

Fornisci ulteriori idee al riguardo.


puoi dirmi il percorso per questo? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); scusate. Sono nuovo di Magento
Sandy,

Se hai una nuova domanda, chiedila facendo clic sul pulsante Poni domanda . Includere un collegamento a questa domanda se aiuta a fornire un contesto. - Dalla recensione
Jai,

Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
Rohan Hapani,

Risposte:


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

Lo dico perché nessun altro ha, ma preferisco usare Mage::getUrlo Mage::getBaseUrl. Entrambi rilevano automaticamente se la pagina è già sicura quando non la si specifica.


sta funzionando su multi store con un nome di dominio diverso
Amit Bera

È possibile specificare un negozio con il secondo parametro di getStoreConfig. Accetta un ID, un codice (come impostato in admin) o un Mage_Core_Model_Storeoggetto, basta usare tutto ciò che hai a disposizione nel tuo codice.
clockworkgeek,

2
Sostituire 'Mage :: getUrl' con 'Mage :: getBaseUrl' ha fatto il trucco per me
Ronny il

11

come ha detto @Aphroz, puoi usare

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

al fine di recuperare l'URL di base sicuro. Questo restituisce url sicuro perché lo abbiamo specificato tramite il secondo parametro true. Qui il primo parametro è specificato come Mage_Core_Model_Store::URL_TYPE_WEB. Ciò significa che il valore restituito dal metodo corrisponde a questo campo di configurazione del sistema web/secure/base_url. Questo campo è il valore specificato in

 System  >  Configuration  > Web  >  Secure url

quindi se questo campo non lo utilizza index.phpinsieme all'URL di base, il metodo non fornirà index.php insieme all'URL. Se tiene index.php, allora restituirà lo stesso. Quindi per assicurarti che index.php non sia lì puoi usare la str_replacefunzione.


Sono l'unico che pensa che questo sia un bug in Magento? Il sistema dovrebbe sapere quando sono su un URL sicuro e quindi predefinito tutto il suo Mage :: getBaseUrl () per proteggere.
Gerfried,

5

Sotto l'elenco di accesso URL

Ottieni URL in pagine CMS o blocchi statici

  1. URL di base:

    {{base url=''}}
  2. URL del negozio:

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

    memorizza anche solo l'URL

    {{store url=""}}
  3. URL multimediale:

    ottieni solo l'URL multimediale

    {{media url=''}}

    se ottieni un percorso per la cartella

    {{media url='imagefolder/imagename.jpg'}}
  4. URL skin:

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

    ottieni solo URL skin

    {skin url=''}}


Ottieni URL nei file PHP (incl. Modelli / PHTML)

  1. Ottieni l'URL di base in magento:

    $baseurl = Mage::getBaseUrl();

    Ottieni l'URL di base senza index.php

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

    $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 skin:

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

    URL skin non sicuro:

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

    URL skin sicuro:

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

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

    o

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

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

    o

    $jsUrl = Mage::getBaseUrl('js');
  6. ottieni l'URL del negozio:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. Ottieni URL home:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Ottieni percorsi di directory

    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. Crea l'URL del modulo:

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

Ottieni maggiori dettagli su come ottenere URL


3

Questo dovrebbe fare il trucco:

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

Breve e dolce


Questo è l'approccio più solido, poiché includerà qualsiasi store_code da url, se è così
Raul Sanchez,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.