我正在使用CakePHP开发一个网站,但我有一个非常基本的疑问:
当我在本地工作时,我使用虚拟主机,然后/
意味着我的项目的根,然后我可以定义我的所有链接到静态内容,如/static/content.css
(即) 。但是,当我测试网站时,我需要创建一个beta
子目录,然后链接应更改为/beta/static/content.css
。
使用static/content.css
之类的相对路径不是解决方案,因为这只能在主页面中工作,而在其他控制器和操作上,文件无法访问,因为系统会在controller/action/static/content.css
中查找它们。
我的第一个解决方案是创建一个全局常量,我必须在我测试页面的每个地方重新定义(我的本地服务器,我的远程服务器,客户端远程服务器......)但我希望CakePHP提供一种方法来解决这个问题。问题以更优雅的方式进行。
感谢您的关注和帮助。
答案 0 :(得分:2)
这就是为什么你不应该使用静态网址来做任何事情,而是做echo $this->Html->css('your_file');
之类的事情,这会指向/webroot/css/your_file.css
答案 1 :(得分:0)
对我来说听起来很奇怪。为什么不在你的git / svn /无论什么名为“beta”的repo中都有一个分支,只需使用:example.com(live site)和beta.example.com(beta site)来测试分离的文件夹,vhost和数据库。你说测试,所以我不会尝试在实时数据库上使用beta功能。