我得到了一个相当大的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中更改路由的基本路径吗?