微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在使用重写规则的框架中,如何最好地集成CSS和JS?

我有一个框架,通过基本文件路由所有传入的URI,并处理静态文件我有一个子目录/静态,其中我放置所有的CSS,JS和图像(即/ static / css / main.css),以保持清晰.

我自己的代码插件处理这个罚款,但有时候需要实现其他代码,并且通常CSS文件将尝试调用这些文件中的URI.我该怎么处理这个最好的方法

一个例子 ;

/约/公司
路线到
/脚本?Q =约/公司
并锁在现场的主体结构中.然而;
/static/css/main.css
使用背景图片;
/static/images/widget/bg-color.png

由于这是一个框架,我不高兴在CSS文件中硬编码/静态路径.一个,我不想限制网站只从一些根目录服务. :)对于所有JS,都有处理这个问题的对象(即var x = $xs_dir.js’/script.js’;),但对CSS没有任何存在.我有五个选择

>(最差)在我的管理工具中有一个可以扫描所有CSS文件获取URI引用的选项,并且使用正确的静态目录,并将所有的CSS作为根目录静态编写.
>(差)依靠网络服务器将静态目录别名到一个根静态目录的能力,让管理员处理它.
(meh,slow)通过框架提供CSS文件,用正确的静态路径过滤URI.
(最简单但不是很简单)手工编写我的CSS文件的静态部分,用于任何可能的服务器设置,并确保它们很容易找到和更改.
(可能最好,但复杂?)有一个重写规则检测当前目录中的图像,将它们转发到静态目录,并使用一些已识别的动态路径编写所有CSS. (即,而不是/static/images/img.png做images / img.png,并依赖重写规则将其推送到需要去的地方,也限制网站结构从不具有名为“图像”的子目录)

任何附加选项?想法?我知道Joomla和类似的文件有一些重写,可能不会. 5?

解决方法

不知道你是否有.htaccess文件,但是一个选项是将文件夹“images”的请求放入一个重写规则中,以将其重定向到您的静态(或其他)文件夹:
RewriteRule ^[^\?]*(images/)(.*)$/static/$1$2 [NC,L]

这样,您可以将所有图像作为CSS中的/images/whatever.png引用.

如果您需要为不同的服务器设置不同的设置,则可以为每个环境或服务器总是有一个单独的.htaccess文件,并且版本控制这些文件.

原文地址:https://www.jb51.cc/css/216382.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。