So erhalten Sie eine sichere Basis-URL ohne index.php

10

Ich möchte base-secure-urlohne auskommen index.php.

Ich habe index.phpaus irgendeinem Grund aktiviert . Jetzt habe ich eine PHP-Datei im Magento-Stammverzeichnis und möchte Magento-sichere Seiten aus dieser PHP-Datei aufrufen.

Hinweis: Ich habe mehrere Geschäfte auf meiner Website

Bitte geben Sie hierzu weitere Ideen an.

Amit Bera
quelle
Kannst du mir den Weg dafür nennen? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); Es tut uns leid. Ich bin neu in Magento
Sandy
Wenn Sie eine neue Frage haben, fragen Sie es bitte durch Klicken Frage stellen Taste. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies zur Bereitstellung des Kontexts beiträgt. - Von der Überprüfung
Jai
Dies gibt keine Antwort auf die Frage. Sobald Sie einen ausreichenden Ruf haben, können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten, die nicht vom Fragesteller geklärt werden müssen . - Von der Überprüfung
Rohan Hapani

Antworten:

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

Ich erwähne dies, weil es sonst niemand hat, aber ich bevorzuge es, Mage::getUrloder zu verwenden Mage::getBaseUrl. Beide erkennen automatisch, ob die Seite bereits sicher ist, wenn Sie sie nicht angeben.

Uhrwerk
quelle
Funktioniert es in einem Multi Store mit einem anderen Domainnamen?
Amit Bera
Sie können ein Geschäft mit dem zweiten Parameter von angeben getStoreConfig. Es akzeptiert eine ID, einen Code (wie in admin festgelegt) oder ein Mage_Core_Model_StoreObjekt. Verwenden Sie einfach alles, was Sie in Ihrem Code zur Verfügung haben.
Uhrwerk
2
Das Ersetzen von 'Mage :: getUrl' durch 'Mage :: getBaseUrl' hat den Trick für mich getan
Ronny
11

wie @Aphroz sagte, können Sie verwenden

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

um eine sichere Basis-URL abzurufen. Dies gibt eine sichere URL zurück, da wir sie über den zweiten Parameter angegeben haben true. Hier wird der erste Parameter als angegeben Mage_Core_Model_Store::URL_TYPE_WEB. Dies bedeutet, dass der Rückgabewert der Methode diesem Systemkonfigurationsfeld entspricht web/secure/base_url. Dieses Feld ist der Wert, den wir angeben

 System  >  Configuration  > Web  >  Secure url

Wenn dieses Feld dort nicht index.phpzusammen mit der Basis-URL verwendet wird, gibt die Methode index.php nicht zusammen mit der URL aus. Wenn dies der Fall ist index.php, wird dasselbe zurückgegeben. Um sicherzustellen, dass index.php nicht vorhanden ist, können Sie die str_replaceFunktion verwenden.

Rajeev K Tomy
quelle
Bin ich der einzige, der denkt, dass dies ein Fehler in Magento ist? Das System sollte wissen, wann ich mich auf einer sicheren URL befinde, und dann standardmäßig alle Mage :: getBaseUrl () sichern.
Gerfried
5

Unterhalb der URL-Zugriffsliste

Abrufen von URLs in CMS-Seiten oder statischen Blöcken

  1. Basis-URL:

    {{base url=''}}
  2. URL speichern:

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

    auch nur URL speichern

    {{store url=""}}
  3. Medien-URL:

    nur Medien-URL erhalten

    {{media url=''}}

    wenn Sie einen Ordnerpfad erhalten

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

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

    Nur Skin-URL abrufen

    {skin url=''}}


URLs in PHP-Dateien abrufen (inkl. Vorlagen / PHTML)

  1. Holen Sie sich Base Url in Magento:

    $baseurl = Mage::getBaseUrl();

    Holen Sie sich die Basis-URL ohne index.php

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

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

    oder

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

    oder

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

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

    Unsichere Haut-URL:

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

    URL für sichere Haut:

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

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

    oder

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

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

    oder

    $jsUrl = Mage::getBaseUrl('js');
  6. Laden-URL abrufen:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. Get Home URL:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Verzeichnispfade abrufen

    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. Modul-URL erstellen:

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

Weitere Informationen zum Abrufen von URLs

Kailas
quelle
3

Dies sollte den Trick tun:

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

Kurz und bündig.

Milan Simek
quelle
Das ist der solide Ansatz, da er jeden store_code zur URL enthält, wenn dies der Fall ist
Raul Sanchez
1

Kannst du das nicht benutzen?

str_replace('index.php','whatever.php',Mage::getBaseUrl('web', true));
Aphroz
quelle
2
Alter, es ist nicht der richtige Weg ...
Amit Bera
1
Dann Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB, true) wie hier erwähnt: stackoverflow.com/questions/15002254/…
Aphroz
Es gibt kein Ergebnis, wenn ich sichere URL verwendet habe
Amit Bera
Nicht sicher, aber .htaccess-Datei kann hilfreich sein
Trimantra Software Solution