Url重写不能在zend框架2中工作

时间:2013-08-27 10:07:26

标签: php zend-framework zend-framework2

我按照Zend quick start

中提供的文档设置zend framework 2项目

我下载了骨架应用程序,正确地显示了“欢迎到zend框架”主页。根据文档中的建议,我试图访问myproject.localhost/1234 url,但它没有在项目范围内显示404错误,但是没有导航栏,css(即。url重写不工作)打开了“未找到”页面。我没有在我的机器上安装IIS只有wamp服务器,所以理想情况下应该可以工作。

任何人都可以指导我这个错误。我也创建了虚拟主机

1 个答案:

答案 0 :(得分:0)

因为您正在尝试通过请求myproject.local / 1234来解析未配置的路径,所以,如果要将1234作为参数传递给索引控制器(归属路由),请设置来自this line的路线如下:

'home' => array(
    'type' => 'Zend\Mvc\Router\Http\Literal',
    'options' => array(
    'route'    => '/[:myparam]',
    'constraints' => array(
        'id' => '\d*',
    ),
    'defaults' => array(
        'controller' => 'Application\Controller\Index',
        'action'     => 'index',
        ),
    ),
),

现在你可以在IndexController中获取myparam,如下所示:

public function indexAction()
{
    $myparam = (int) $this->params()->fromRoute('myparam', 0);
    var_dump($myparam); // Prints 123 on myproject.localhost/123 and 0 on myproject.localhost
    exit; // Exit for just simply show the logic. Don't use exit in controller like this.
}