【问题标题】:Kohana: Stylesheets + Routing = Not WorkingKohana:样式表 + 路由 = 不工作
【发布时间】:2012-01-26 23:28:14
【问题描述】:

我正在尝试设置 Kohana 的 v3.2.0,但我遇到了样式表问题(可能还有 javascript 文件和图像,但我还没有测试过)。查看我页面的源代码,我可以看到它将转到样式表的正确文件路径,但是页面没有按样式加载。如果我直接查看样式表,我会收到文件没有匹配路径的错误。有没有办法让我的路由例外,以允许访问样式表甚至 javascript 和图像?

这是我的模板控制器文件(也是唯一处理样式表的行)

$this->template->styles = array('application/themes/1/style/style.php' => 'all');

(不确定“all”是做什么的,但我从教程中得到了这个,因为它链接到正确的样式表,我知道它没有任何问题)。问题肯定出在路由上。

Boostrap 中的路由(所有变量都是先前定义的,并且可以与其他页面一起使用)

Route::set(
    'custom',
    '(<controller>(/<action>(/<param1>)(/<param2>(/<param3>(/<param4>(/<param5>(/<param6>)))))))'
    )->defaults(array(
    'controller' => $controller,
    'action'     => $action,
    'param1'     => $param1,
    'param2'     => $param2,
    'param3'     => $param3,
    'param4'     => $param4,
    'param5'     => $param5,
    'param6'     => $param6,
));

另外,我确信这会起作用...我的样式位于我的应用程序文件夹中,而不是文档根目录中的“媒体”或“资产”。请注意,即使我确实将文件移动到文档根目录,它们仍然无法访问。

有没有一种方法可以匹配“样式”一词的 url,如果匹配,不要寻找路线?这可能必须通过 htaccess 中的 modrewrite 来完成,我不确定。

请帮忙。

【问题讨论】:

    标签: php routing kohana stylesheet kohana-3


    【解决方案1】:

    路线与资产没有任何关系。将它们放在 DOCROOT 中的某个位置,并在您的 html 中链接到它们,就像您通常在没有框架的情况下所做的那样:

    <link src="<?=url::base()?>assets/css/layout.css" />
    

    【讨论】:

    • 仍然不起作用...例如,我有一个链接为 DOCROOT/style/test.css,当我查看我的页面源代码时,代码是正确的,但没有样式。现在,如果我从我的其他站点之一(完全在 Kohana 之外)链接到样式表,那么它会设置样式。但在脚本内部......任何地方......它似乎不起作用。
    • Kohana 在这里没有做任何特别的事情。没有魔法什么的。如果它在您的 DOCROOT 中并且可以通过您的网络浏览器访问,那么它将起作用。确保它不在 APPPATH 中。
    • locaiton http://www.domain.com/kohana/style/test.css...当我尝试直接访问文件时,HTTP_Exception_404 [ 404 ]: Unable to find a route to match the URI: style/test.css
    • 如果您使用默认的.htaccess 文件,这意味着该文件在DOCROOT 中不存在。由于它不存在,它试图在 kohana 的系统中找到它(它显然不能)。确保在您的index.php 文件旁边,您有一个style 目录,并且test.css 在那里。
    猜你喜欢
    • 2023-03-06
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多