CakePHP项目中的绝对路径


Absolute paths in CakePHP project

我得到了一个相当大的cakeHP(构建在v.1.3.10上(项目来维护。问题是大多数路径都是绝对的(在我看来这是一个坏习惯(。

例如。在default.ctp中有:

<link rel="stylesheet" href="/css/public_new.css" />

但在同一文件的底部有:

<?php echo $html->script('jquery-ui-1.8.16.custom.min.js'); ?>

其打印正确的路径。

这就像最初的开发人员将网站放在服务器的根目录中(而不是子目录中(。

我试图解决这个问题但没有成功:

  • 修改了/、app/和app/webroot上的.htaccess文件
  • 添加标记

我知道我可以在每个路径的开头添加一个$this->base,但这不是一个解决方案,因为有数千个文件需要修改:(

所以我的问题是:有没有使用mod_rewrite之类的解决方案?

提前谢谢。

$html->script()将自动在HTML输出中预先设置/js/。Cake的.htaccess会将这些文件调用指向/webroot/js/

所以<?php echo $html->script('jquery-ui-1.8.16.custom.min.js'); ?>会输出

HTML中的CCD_ 9。

要替换所有这些url/链接,您实际上可以使用Actual Search and replace;-(我经常用它。

解决方案:

在app/config/brustrap.php上,添加:

Configure::write('App.base', '/teka_new/');

我从Ho那里得到了这一点。我要在CakePHP中更改路由的基本路径吗?