index.phpなしでベースの安全なURLを取得する方法


10

base-secure-url抜きになりたいindex.php

index.php何らかの理由で有効にしました。これで、MagentoのルートディレクトリにPHPファイルができました。このPHPファイルからMagentoのセキュアページを呼び出します。

注:私のサイトには複数の店舗があります

これについてより多くのアイデアを提供してください。


この道筋を教えてもらえますか?Mage :: getStoreConfig(Mage_Core_Model_Url :: XML_PATH_SECURE_URL); ごめんなさい。私はmagentoの初心者です
サンディ

新しい質問がある場合は、[ 質問する ]ボタンをクリックして質問してください。コンテキストの提供に役立つ場合は、この質問へのリンクを含めます。- レビューから
Jai

これは質問に対する答えを提供しません。十分な評判を得ると、どの投稿にもコメントできるようになります。代わりに、質問者からの説明を必要としない回答を提供してください。- レビューから
Rohan Hapani 18/07/15

回答:


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

他の誰も持っていないのでこれについて言及しますが、Mage::getUrlまたはを使用することを好みMage::getBaseUrlます。どちらも、ページを指定しない場合、ページが既にセキュアであるかどうかを自動的に検出します。


異なるドメイン名のマルチストアで動作していますか
Amit Bera

の2番目のパラメーターでストアを指定できますgetStoreConfig。ID、コード(adminで設定)、またはMage_Core_Model_Storeオブジェクトを受け入れ、コードで使用可能なものを使用します。
clockworkgeek

2
「Mage :: getUrl」を「Mage :: getBaseUrl」に置き換えるとうまくいきました
Ronny

11

@Aphrozが言ったように、あなたは使うことができます

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

安全なベースURLを取得するため。2番目のパラメータで指定したため、これは安全なURLを返しますtrue。ここでは、最初のパラメータはと指定されていMage_Core_Model_Store::URL_TYPE_WEBます。これは、メソッドの戻り値がこのシステム構成フィールドに対応することを意味しますweb/secure/base_url。このフィールドは、指定する値です

 System  >  Configuration  > Web  >  Secure url

そのため、このフィールドでindex.phpベースURLが使用されていない場合、メソッドはURLとともにindex.phpを提供しません。が保持されている場合はindex.php、同じものが返されます。したがって、index.phpが存在しないことを確認するには、str_replace関数を使用できます。


これがMagentoのバグだと思っているのは私だけですか?システムは、セキュアURLを使用していることを認識し、デフォルトでそのすべてのMage :: getBaseUrl()をセキュアに設定する必要があります。
ガーフリート、2016

5

URLアクセスリストの下

CMSページまたは静的ブロックでURLを取得する

  1. ベースURL:

    {{base url=''}}
  2. ストアURL:

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

    また、URLのみを保存

    {{store url=""}}
  3. メディアURL:

    メディアURLのみを取得

    {{media url=''}}

    フォルダパスを取得した場合

    {{media url='imagefolder/imagename.jpg'}}
  4. スキンURL:

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

    スキンURLのみを取得

    {skin url=''}}


PHPファイル内のURLを取得(テンプレート/ PHTMLを含む)

  1. magentoでベースURLを取得します。

    $baseurl = Mage::getBaseUrl();

    index.phpなしでベースURLを取得する

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

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

    または

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

    または

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

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

    安全でないスキンURL:

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

    セキュアスキンURL:

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

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

    または

    $mediaUrl = Mage::getBaseUrl('media');
  5. Js URLを取得:

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

    または

    $jsUrl = Mage::getBaseUrl('js');
  6. ストアURLを取得:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. ホームURLを取得:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. ディレクトリパスを取得する

    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. モジュールのURLを作成します。

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

URLの取得に関する詳細を取得する


3

これでうまくいくはずです:

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

短くて甘い。


その場合、URLにstore_codeが含まれるため、これが最も確実なアプローチです
Raul Sanchez

1

これは使えないの?

str_replace('index.php','whatever.php',Mage::getBaseUrl('web', true));

2
おい、それは適切な方法ではありません....
アミットベラ

1
そして、メイジ:: getBaseUrl(Mage_Core_Model_Store ::真URL_TYPE_WEB、)ここに述べたように:stackoverflow.com/questions/15002254/...
Aphroz

安全なURLを使用した場合に結果が得られない
アミットベラ

確かではありませんが、.htaccessファイルは役に立ちます
Trimantra Software Solution
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.