【发布时间】:2014-07-04 15:36:33
【问题描述】:
我正在使用这里的 INVO 示例应用程序:
https://github.com/phalcon/invo
我已经复制了所有文件并设置了 db 和 base url。
它有效,我可以登录等。
但是,我想学习如何使用重定向,例如
我想在不更改控制器名称的情况下使用contact-us 而不是contact。
所以,我在 app/config 文件夹中创建了一个文件 routes.php 并将其放入:
<?php
$router = new Phalcon\Mvc\Router(false);
$router->add('/contact-us', array(
'controller' => "contact",
'action' => "index"
))->setName('contact');
$router->handle();
return $router;
我已经在公共根目录的引导文件 index.php 中创建了它
$di = new \Phalcon\DI\FactoryDefault();
$di->set('router', function(){
require __DIR__.'/../app/config/routes.php';
return $router;
});
但是,它不起作用,当我尝试访问 http://localhost/test/contact-us 时它起作用,但 http://localhost/test/contact-us 停止工作,我被重定向到主页。
如果我(评论路线)这样做:
/*$router->add('/contact-us', array(
'controller' => "contact",
'action' => "index"
))->setName('contact');*/
$router->handle();
return $router;
http://localhost/test/contact-us 和 http://localhost/test/contact-us 都不起作用 ;(.
如果我取消注释它。 contact-us 有效,但 contact 无效。
我猜它是->setName('contact') 的 b/c,它存储在内存或某个文件中。
如何让它恢复到原始状态并“取消设置”它?
【问题讨论】:
标签: php phalcon phalcon-routing