【问题标题】:Trailing Slashes in URLURL 中的尾随斜杠
【发布时间】:2012-12-28 23:43:10
【问题描述】:

所以,我一直在尝试在网上查找有关它的内容,但文档中没有任何关于 URL 尾部斜杠的内容。这是我的问题。

我希望所有 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
    ));

现在,我那里的那个斜杠并没有真正做任何事情,所以我把它留下了。对于 URL /user/view/13/,这里是 $this-&gt;dispatcher-&gt;getParams() 的 var_dump:

array(2) {
  [0]=>
  string(2) "13"
  [1]=>
  string(0) ""
}

如果我运行 URL /user/view/13(没有尾部斜杠),这里是 var_dump $this-&gt;dispatcher-&gt;getParams():

array(2) {
  [0]=>
  string(2) "13"
} 

基本上,有没有办法让 phalcon 以斜杠结尾,这样我得到相同的结果?或者我可能需要编写一个自定义路由类?任何帮助将不胜感激!

【问题讨论】:

    标签: php phalcon


    【解决方案1】:

    对于

    $router->add('/:controller/:action/:id[/]{0,1}', array(
        'controller'    => 1,
        'action'        => 2,
        'id'            => 3
    ));
    

    注意::id 不是 Mvc\Router 中的有效占位符,您可以使用 :int

    从 0.8.0 开始,可以开启自动修正斜线:

    $router->removeExtraSlashes(true);
    

    【讨论】:

    • 这正是我想要的。谢谢!
    猜你喜欢
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多