CakePHP - 如何获取应用程序根目录的公共路径

时间:2011-07-21 14:58:07

标签: cakephp path

我正在寻找一个常量或变量,它将为我的应用程序根提供公共路径。

到目前为止FULL_BASE_URL给了我http://www.example.com但是我的应用程序存在于子目录中(例如http://www.example.com/myapp/)。

有没有办法在我的控制器中获得http://www.example.com/myapp/之类的路径?

3 个答案:

答案 0 :(得分:8)

$this->Html->url( '/', true );

通常,您应该使用该功能生成所有链接,请参阅http://book.cakephp.org/view/1448/url

答案 1 :(得分:4)

答案 2 :(得分:0)

<?php
    ...
    $this->redirect( Router::url( "/", true ));
    ...
?>

Router是HtmlHelper :: link,Controller :: redirect等使用的静态类.Router :: url方法接受一个字符串或数组并将其与路由匹配。然后它返回与路由信息匹配的URL作为字符串。

如果您将“/”传递给Router :: url调用,您将获得指向应用根目录的相对链接。如果将“/”和true传递给Router :: url调用,则会将完整的BASE_URL添加到生成的相对路径中。这应该给你你需要的东西。如果没有,这里是路由器文档的链接。尝试尝试使用第二个布尔参数 - 它可能会或可能不会按预期工作,具体取决于您阅读的内容/您自己的测试。

http://api.cakephp.org/class/router#method-Routerurl