$ this-> url()到另一个子域

时间:2010-05-14 09:51:40

标签: php zend-framework dns routes subdomain

我为我的应用程序创建了子域名。

host_www.type = "Zend_Controller_Router_Route_Hostname"
host_www.route = "www.mywebsite.com"
host_www.defaults.module = "default"
host_www.defaults.controller = "index"
host_www.defaults.action = "index"

store_infos.route = "storeinfos/:store"
store_infos.defaults.controller = "store"
store_infos.defaults.action = "store-infos"
store_infos.defaults.module = "default"
store_infos.chain = "host_www"

host_products.type = "Zend_Controller_Router_Route_Hostname"
host_products.route = "products.mywebsite.com"
host_products.defaults.module = "products"
host_products.defaults.controller = "products"
host_products.defaults.action = "index"

product_infos.type = "Zend_Controller_Router_Route_Regex"
product_infos.route = "([-\w]+).htm"
product_infos.reverse = "%s.htm"
product_infos.map.1 = "q"
product_infos.defaults.module = "products"
product_infos.defaults.controller = "products"
product_infos.defaults.action = "see-product"
product_infos.chain = "host_products"

我不知道这个zend config ini文件中的语法是否正确,特别是对于路由链接。

一旦我进入这个子域名,使用$ this-> url()构建的网址就像这样:

<a href="<?= $this->url(array('store' => 1234), 'store_infos', true) ?>">
See store informations
</a>

仍然指向子域products.mywebsite.com,我希望它指向www.mywebsite.com

目前,我这样做:

<a href="http://www.mywebsite.com<?= $this->url(array('store' => 1234), 'store_infos', true) ?>">
See store informations
</a>

但它根本不灵活。

是否有解决方案,要添加的参数或配置文件错误?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在index.php中定义地址的服务器部分:

// Define the server
defined('APPLICATION_SERVER')
    || define('APPLICATION_SERVER', $_SERVER['SERVER_NAME']);

然后使用:

<a href="http://<?=APPLICATION_SERVER."/".$this->url(array('store'=>'1234'))?>">