0

我想在我的网址中使用 .htm 之类的扩展名。有没有办法做到这一点?

我定义了以下规则:

frontend.route = '/:standort/:id'

当我使用以下

frontend.route = '/:standort/:id.htm'

那么变量的名称是 id.htm,就像在 $params["id.htm"] 中一样。我如何告诉 Zend 框架使用什么作为变量?

问候

//编辑

我的完整配置现在看起来像这样:

frontend.type = 'Zend_Controller_Router_Route_Regex'
frontend.route = '/(.?)/(\w+?\.htm)'
frontend.defaults.module = 'frontend'
frontend.defaults.controller = 'index'
frontend.defaults.action = 'index'
frontend.defaults.standort = 'national'
frontend.map.1 = 'standort'
frontend.map.2 = 'id'

这就是我加载配置的方式

$file = APPLICATION_PATH . '/modules/' . $module . '/configs/routing.ini';

        if(Zend_Loader::isReadable($file)){
            $config = new Zend_Config_Ini($file);
            $router = Zend_Controller_Front::getInstance()->getRouter();
            $router->addConfig($config);
        }         
4

1 回答 1

0

您可以使用正则表达式路由执行此操作:

frontend.type = "Zend_Controller_Router_Route_Regex"
frontend.route = '/(.?)/(\w+?\.htm)'
frontend.map.1 = "standort"
frontend.map.2 = "id"

但除非您试图保留现有的 URL 结构,否则我只会将 .htm 排除在外 - 它没有任何用处。

于 2012-12-10T21:51:35.287 回答