Comment obtenir une URL sécurisée de base sans index.php


10

Je veux obtenir base-secure-urlsans index.php.

J'ai activé index.phppour une raison quelconque. Maintenant, j'ai un fichier PHP dans le répertoire racine de Magento, et je veux appeler les pages sécurisées Magento à partir de ce fichier PHP.

Remarque: j'ai plusieurs magasins sur mon site

Veuillez fournir plus d'idées à ce sujet.


pouvez-vous me dire le chemin pour cela? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); Pardon. Je suis nouveau sur magento
Sandy

Si vous avez une nouvelle question, veuillez la poser en cliquant sur le bouton Poser une question . Incluez un lien vers cette question si cela permet de fournir un contexte. - De l'avis
Jai

Cela ne fournit pas de réponse à la question. Une fois que vous avez une réputation suffisante, vous pourrez commenter n'importe quel message ; fournissez plutôt des réponses qui ne nécessitent pas de clarification de la part du demandeur . - De l'avis
Rohan Hapani

Réponses:


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

Je mentionne cela parce que personne d'autre ne l'a fait, mais je préfère utiliser Mage::getUrlou Mage::getBaseUrl. Les deux détectent automatiquement si la page est déjà sécurisée lorsque vous ne la spécifiez pas.


fonctionne-t-il sur plusieurs magasins avec un nom de domaine différent
Amit Bera

Vous pouvez spécifier un magasin avec le deuxième paramètre de getStoreConfig. Il accepte un ID, un code (tel que défini dans admin) ou un Mage_Core_Model_Storeobjet, utilisez simplement tout ce que vous avez dans votre code.
clockworkgeek

2
Remplacer 'Mage :: getUrl' par 'Mage :: getBaseUrl' a fait l'affaire pour moi
Ronny

11

comme l'a dit @Aphroz, vous pouvez utiliser

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

afin de récupérer l'URL de base sécurisée. Cela renvoie une URL sécurisée car nous l'avons spécifié via le deuxième paramètre true. Ici, le premier paramètre est spécifié comme Mage_Core_Model_Store::URL_TYPE_WEB. Cela signifie que la méthode renvoie une valeur correspondant à ce champ de configuration du système web/secure/base_url. Ce champ est la valeur que nous spécifions à

 System  >  Configuration  > Web  >  Secure url

donc si ce champ ne l'utilise pas index.phpavec l'URL de base, la méthode ne donnera pas index.php avec l'URL. S'il tient index.php, alors il retournera le même. Donc, pour vous assurer que index.php n'est pas là, vous pouvez utiliser la str_replacefonction.


Suis-je le seul à penser que c'est un bug dans Magento? Le système devrait savoir quand je suis sur une URL sécurisée, puis par défaut tous ses Mage :: getBaseUrl () pour sécuriser.
Gerfried

5

Ci-dessous la liste d'accès URL

Obtenez des URL dans des pages CMS ou des blocs statiques

  1. URL de base:

    {{base url=''}}
  2. URL du magasin:

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

    également stocker uniquement l'URL

    {{store url=""}}
  3. URL du média:

    obtenir uniquement l'URL du média

    {{media url=''}}

    si vous obtenez un chemin de dossier

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

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

    obtenir uniquement l'URL du skin

    {skin url=''}}


Obtenez des URL dans des fichiers PHP (incl. Modèles / PHTML)

  1. Obtenez l'URL de base dans magento:

    $baseurl = Mage::getBaseUrl();

    Obtenir l'URL de base sans index.php

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

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

    ou

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

    ou

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

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

    URL d'apparence non sécurisée:

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

    URL de skin sécurisée:

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

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

    ou

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

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

    ou

    $jsUrl = Mage::getBaseUrl('js');
  6. obtenir l'URL du magasin:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. URL d'accueil:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Obtenir les chemins de répertoire

    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. Créer l'URL du module:

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

Obtenir plus de détails sur l'obtention des URL


3

Cela devrait faire l'affaire:

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

Court et doux.


C'est l'approche la plus solide, car elle inclura tout store_code à l'URL, si tel est le cas
Raul Sanchez

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.