我想保留在生产和开发环境中不同的端口号,但是基于我的 zend 路由调用 url 助手会忘记端口号。
我的路由是一堆正则表达式路由,与默认主机名路由链接,主要用于多域配置上的多语言(下面的简短概述)。
<?php
$routecateg = new Zend_Controller_Router_Route_Regex('cat/(\w+)_([^_]+)(?:_page_(\d+))?(?:_par_(\d+))?(?:.html)?',
array(1 =>'',2=>'',3=>'1',4=>'20','controller' =>'list','action'=>'categ'),
array(1 =>'categid',2=>'categname',3=>'page',4=>'par'),
'cat/%s_%s_page_%d_par_%d.html'
);
$routeindex= new Zend_Controller_Router_Route_Regex('(index|home)?',
array('controller' =>'index','action'=>'home'),
array(),
'index'
);
$hostRouteRepository = new Zend_Controller_Router_Route_Hostname(
':lang.'.$config->serverurl
);
$router ->addRoute('index',$hostRouteRepository->chain($routeindex));
$router ->addRoute('categ',$hostRouteRepository->chain($routecateg));
?>
其中 $config->serverurl 只是取决于环境并在我的 application.ini 文件中配置的域名。
在我的生产服务器上,没关系,因为我在默认端口 80 上运行,但是在开发网中,我需要在不同的端口上运行,并且每次我调用我的 url 助手时,端口号都被遗忘了。
我知道我可以通过更好地配置我的 apache 服务器来解决问题,但我很惊讶没有找到任何解决此问题的方法。