2

我得到了一个相当大的 cakePHP(建立在 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 之类的解决方案?

提前致谢。

4

3 回答 3

0

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

于 2013-05-13T22:32:55.577 回答
0

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

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

/js/jquery-ui-1.8.16.custom.min.js在 HTML 中。

于 2013-05-13T21:41:43.790 回答
0

解决方案:

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

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

我从何中取出这个我是否更改 CakePHP 中路由的基本路径?

于 2013-06-14T11:39:43.313 回答