【问题标题】:kohana server image staticallykohana 服务器镜像静态
【发布时间】:2011-08-12 13:03:28
【问题描述】:

我有一个基于 kohana 的网站,我想静态地提供图像(而不是通过控制器)。 如果我给出图像的真实路径:

 <img src="/media/ceva.jpg" alt='<?= $product->name ?>' title="<?= $product->name ?>" />

我不断收到路线错误:

Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: media/ceva.jpg

有什么方法可以在 kohana 中静态(而不是通过对象)提供图像? 谢谢!

【问题讨论】:

  • 是的,但这取决于您使用的网络服务器。如果是 Apache 或 nginx,您可以使用 url_rewrite module 执行此操作。 IIS 也有 .htaccess 支持,但从未亲自使用过,所以不能保证它工作正常。
  • 您可能需要更改重写规则 (.htaccess)。有的话可以发在这里吗?

标签: php image kohana


【解决方案1】:

我不熟悉 Kohana,但通常提供静态文件所需的方式是配置您的网络服务器,使应用程序/框架永远不会看到这些请求。

如果您使用的是 Apache,您可以简单地在 VirtualHost 中使用Alias /media /path/to/your/media/folder

【讨论】:

    【解决方案2】:

    我个人的偏好是在 URL 类中设置一个方法来提供有效的静态内容 URL。比如:

    public static function media($path)
    {
        $media_path = Kohana::$config->load('whatever');
    
        return URL::site($media_path.$path);
    }
    

    当然,根据您的需要进行修改。

    您遇到的问题是由该位置不存在的文件引起的,而不是 Apache 规则。 Kohanas 的 apache 规则允许直接访问所有文件,安全检查在每个 php 文件中单独定义。

    【讨论】:

      猜你喜欢
      • 2017-04-08
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 1970-01-01
      相关资源
      最近更新 更多