CakePHP项目中的绝对路径

时间:2013-05-13 11:32:40

标签: php cakephp

我获得了一个非常大的cakePHP(基于v。1.3.10建立)项目来维护。问题是大多数路径是绝对的(我认为这是一个坏习惯)。

EG。在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等解决方案?

提前致谢。

3 个答案:

答案 0 :(得分:0)

$html->script()会自动在HTML输出中添加/js/。然后,Cake的.htaccess会将这些文件调用指向/webroot/js/

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

HTML中的

/js/jquery-ui-1.8.16.custom.min.js

答案 1 :(得分:0)

要替换所有这些网址/链接,您实际上可以使用像“实际搜索和替换”这样的程序;-)我经常使用它。

答案 2 :(得分:0)

解决方案:在app / config / bootstrap.php上,添加:

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

我从Ho do I change the base path of routes in CakePHP?

取出来