Answers:
首先看getBaseUrl()
在Mage.php
public static function getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
{
return self::app()->getStore()->getBaseUrl($type, $secure);
}
简单地说,我们可以说:
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
表示您的Magento Site Url
来自this url Magento is running it System
。
换句话说,我们可以说 Mage::getBaseUrl() give the url which is linking your magento internal page urls That MVC page
Mage :: getBaseUrl(Mage_Core_Model_Store :: URL_TYPE_WEB):
值设置为:从 Admin>System>Configuration>WebSite>Secure/Unsecure -> Base url
法师:: getBaseUrl():
值设置为:从 Admin>System>Configuration>WebSite>Secure/Unsecure -> Base Link url
每当我们被允许Use Web Server Rewrites = no
从 admin>system>Web>Search Engines Optimization Rewrites
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
给...的价值 http://youdomain/
但 Mage::getBaseUrl()
给的价值 http://youdomain/index.php/
实际上就是 Mage_Core_Model_Store::URL_TYPE_LINK
当您hit http://youdomain/
将其称为Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
url但times you can see all page
您的链接site is
starting with http://youdomain/index.php/
即表示已采取Mage::getBaseUrl()/ Mage::getBaseUrl($type = Mage_Core_Model_Store::URL_TYPE_LINK, $secure = null)
例:
如果您已经创建了一个文件夹,amit at Magento root dir and there you have put a file test.js
那么您想在magento home调用此文件,则可以使用此代码
<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB).'amit/test.js'; ?>
然后给出网址
www.yourdomain/amit/test.js
如果仅使用Mage::getBaseUrl()
给
您的代码www.yourdomain/index.php/amit/test.js
表示您无法访问test.js(当禁用ruite时)
但是您已经创建了新的控制器和新的动作,那么您可以使用
Mage::getBaseUrl().'yourmodulerouter/yourcontroller/youraction'
it show url like `http://yourdomain/index.php/yourmodulerouter/yourcontroller/youraction`
或给予http://yourdomain/yourmodulerouter/yourcontroller/youraction
(重写启用时)
Mage::getBaseUrl()
为您提供了其中的链接index.php
。如果我不需要多余的index.php,为什么要这么做?
Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB)
当我们打开重写功能后,效果会更好吗?