HTACCESS-重写URL工作,但需要忽略文件夹

时间:2016-04-07 13:45:41

标签: css apache .htaccess

我正在使用我的.htaccess文件重写我的CSS文件的路径:

RewriteRule ^assets/css/min/([a-zA-Z0-9\._-]+)/([a-zA-Z0-9\._-]+)/([a-zA-Z0-9\._-]+)\.css$ assets/css/min.php?style=$1&layout=$2&ver=$3 [L,QSA]

因此,可以http://www.example.com/assets/css/min.php?style=blue&layout=flat

访问http://www.example.com/assets/css/min/blue/flat/1-0.css

我遇到的问题是我的样式的图像位于:

/assets/css/img/

所以在我的CSS文件中,如果我有一个样式:

.mobile-menu-logo { 
  display: block;
  float: left;
  overflow: hidden;
  height: 45px;
  width: 100%;
  background: url('img/mobile-menu-logo.png') 50% 50% no-repeat;
}

...我找不到页面。

如何使用这些.htaccess规则,但仍然可以访问/ img文件夹?

2 个答案:

答案 0 :(得分:0)

将.htaccess文件放在您需要忽略的文件夹的根目录中,其中包含以下内容:

RewriteEngine Off

答案 1 :(得分:0)

您可以将此规则放在.htaccess的顶部:

RewriteRule ^(assets/css)/.+/(img/.+)$ /$1/$2 [L,NC,R=301]

您可以在页面HTML的<head>部分下方添加:

<base href="/assets/css/" />

以便从该基本网址解析每个相对网址,而不是从当前网页的网址解析。