我真的很想知道如果 CSS 文件与您的网站在同一个域上提供,您为什么要这样做,但这可能会起作用;
<?php echo $this->Html->css($this->Html->url('/css/main.css', true));?>
HtmlHelper::url() (继承自 Helper::url() 有两个参数。第一个是作为字符串或数组的路径(使用 cakephp 路由),如果布尔值“true”作为其第二个参数传递,会生成一个“完整”的 URL。
我现在不在我的电脑前,所以无法测试它,但我认为它应该可以工作。
更新
我快速浏览了源代码:https ://github.com/cakephp/cakephp/blob/master/lib/Cake/View/Helper/HtmlHelper.php#L431
并且 HtmlHelper::css() 在内部使用 Helper::assetUrl() ;
https://github.com/cakephp/cakephp/blob/master/lib/Cake/View/Helper.php#L305
所以这可能也有效,如果有效,这是一个更清洁的解决方案:
<?php echo $this->Html->css('main', null, array('fullBase' => true));?>