所以,我一直在尝试在网上找到关于它的东西,但是在文档中没有关于URL中的尾部斜杠的任何内容。这是我的问题。
我希望所有网址都以斜杠结尾,并且如果不这样做,可能会重定向它们。现在,我的代码可以使用和不使用斜杠,但是当我var_dump( $this->dispatcher->getParams() );
这是我的路线代码
<?php
// for brevities sake, it's only the route
$router->add('/:controller/:action/:id/', array(
'controller' => 1,
'action' => 2,
'id' => 3
));
现在,我在那里的尾随斜线并没有真正做任何事情,所以我就离开了它。对于网址 / user / view / 13 / ,这里是$this->dispatcher->getParams()
的var_dump:
array(2) {
[0]=>
string(2) "13"
[1]=>
string(0) ""
}
如果我运行网址 / user / view / 13 (没有尾部斜杠),则这里是 var_dump
$this->dispatcher->getParams()
:
array(2) {
[0]=>
string(2) "13"
}
基本上,有没有办法让phalcon以尾随斜线结束,以便得到相同的结果?或者我是否可能要编写自定义路由类?任何帮助将不胜感激!
答案 0 :(得分:3)
对于版本&lt; = 0.7.0,您可以在每个路径中为正则表达式添加一个可选的/:
$router->add('/:controller/:action/:id[/]{0,1}', array(
'controller' => 1,
'action' => 2,
'id' => 3
));
注意::id不是Mvc \ Router中的有效占位符,而不是它可以使用:int
从0.8.0开始,您可以启用尾部斜杠的自动更正:
$router->removeExtraSlashes(true);