Cara mendapatkan url aman basis tanpa index.php

10

Saya ingin hidup base-secure-urltanpa index.php.

Saya mengaktifkan index.phpkarena beberapa alasan. Sekarang saya memiliki file PHP di direktori root Magento, dan saya ingin memanggil halaman aman Magento dari file PHP ini.

Catatan: saya punya banyak toko di situs saya

Tolong berikan lebih banyak ide tentang ini.

Amit Bera
sumber
dapatkah Anda memberi tahu saya jalan untuk ini? Mage :: getStoreConfig (Mage_Core_Model_Url :: XML_PATH_SECURE_URL); Maaf. Saya baru mengenal magento
Sandy
Jika Anda memiliki pertanyaan baru, silakan tanyakan dengan mengklik tombol Ajukan Pertanyaan . Sertakan tautan ke pertanyaan ini jika itu membantu menyediakan konteks. - Dari Ulasan
Jai
Ini tidak memberikan jawaban untuk pertanyaan itu. Setelah Anda memiliki reputasi yang cukup, Anda dapat mengomentari setiap pos ; alih-alih, berikan jawaban yang tidak memerlukan klarifikasi dari penanya . - Dari Ulasan
Rohan Hapani

Jawaban:

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

Saya menyebutkan ini karena tidak ada orang lain, tetapi saya lebih suka menggunakan Mage::getUrlatau Mage::getBaseUrl. Keduanya secara otomatis mendeteksi jika halaman sudah aman ketika Anda tidak menentukannya.

clockworkgeek
sumber
apakah itu berfungsi di multi store dengan nama domain yang berbeda
Amit Bera
Anda dapat menentukan toko dengan parameter kedua dari getStoreConfig. Ini menerima ID, kode (sebagaimana diatur dalam admin) atau Mage_Core_Model_Storeobjek, cukup gunakan apa pun yang Anda miliki dalam kode Anda.
clockworkgeek
2
Mengganti 'Mage :: getUrl' dengan 'Mage :: getBaseUrl' melakukan trik untuk saya
Ronny
11

seperti @Aphroz katakan, Anda dapat menggunakan

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

untuk mengambil url basis aman. Ini mengembalikan url aman karena kami telah menetapkannya melalui parameter kedua true. Di sini parameter pertama ditentukan sebagai Mage_Core_Model_Store::URL_TYPE_WEB. Ini berarti metode mengembalikan nilai yang sesuai dengan bidang konfigurasi sistem ini web/secure/base_url. Bidang ini adalah nilai yang kami tentukan di

 System  >  Configuration  > Web  >  Secure url

jadi jika bidang ini tidak digunakan di index.phpsana bersama dengan url basis, maka metode ini tidak akan memberikan index.php bersama dengan url. Jika tahan index.php, maka itu akan kembali sama. Jadi untuk memastikan index.php tidak ada di sana Anda dapat menggunakan str_replacefungsi.

Rajeev K Tomy
sumber
Apakah saya satu-satunya yang berpikir ini adalah bug di Magento? Sistem harus tahu kapan saya menggunakan URL aman dan kemudian default semua Mage :: getBaseUrl () untuk diamankan.
Gerfried
5

Di bawah ini daftar Akses URL

Dapatkan URL di halaman CMS atau blok statis

  1. URL dasar:

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

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

    juga hanya menyimpan URL

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

    hanya dapatkan URL media

    {{media url=''}}

    jika Anda mendapatkan beberapa jalur folder

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

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

    hanya dapatkan URL skin

    {skin url=''}}


Dapatkan URL dalam file PHP (termasuk templat / PHTML)

  1. Dapatkan Url Base di magento:

    $baseurl = Mage::getBaseUrl();

    Dapatkan Url Base tanpa index.php

    Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
    
    // output: http://example.com/
  2. Url saat ini

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

    atau

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

    atau

    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 Kulit Tidak Aman:

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

    URL Kulit Aman:

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

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

    atau

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

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

    atau

    $jsUrl = Mage::getBaseUrl('js');
  6. dapatkan URL toko:

    $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
  7. Dapatkan URL Beranda:

    $homeUrl= Mage::helper('core/url')->getHomeUrl();
  8. Dapatkan jalur Direktori

    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. Buat URL modul:

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

Dapatkan detail selengkapnya tentang dapatkan URL

Kailas
sumber
3

Ini harus melakukan trik:

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

Pendek dan manis.

Milan Simek
sumber
Itu pendekatan yang paling solid, karena akan menyertakan store_code apa pun ke url, jika itu masalahnya
Raul Sanchez
1

Tidak bisakah kamu menggunakan ini?

str_replace('index.php','whatever.php',Mage::getBaseUrl('web', true));
Aphroz
sumber
2
Bung, itu bukan cara yang tepat ....
Amit Bera
1
Kemudian Mage :: getBaseUrl (Mage_Core_Model_Store :: URL_TYPE_WEB, true) seperti yang disebutkan di sini: stackoverflow.com/questions/15002254/…
Aphroz
itu tidak memberikan hasil ketika saya menggunakan url aman
Amit Bera
Tidak Yakin, Tapi file .htaccess dapat membantu
Trimantra Software Solution