php-使用htaccess重定向CSS(资产)

问题

我想用htaccess重定向我的css文件,因为整个路径很长.

我尝试这个-index.php:

<link rel="stylesheet" href="/css/styles.css">

这在我的.htaccess中

RewriteEngine on
RewriteRule ^css/(.*)$/app/view/templates/default/frontend/css/$1 [NC,L]

但是,未加载CSS.

GET http://localhost/css/styles.css 404 (Not Found) 

环境:发展

>没有虚拟主机
>直接访问:http:// localhost / test

资料夹结构

Apache目录(文档根目录):

/home/patrick/workspace/ = http://localhost

我的“问题”(测试)文件夹

/home/patrick/workspace/test/ = http://localhost/test

在/ test文件夹中

CSS路径(在测试文件夹内)

/app/view/templates/default/frontend/css/

所以,我想要:

<link rel="stylesheet" href="/css/styles.css">

然后,重定向(调用)正确的URL,如下所示:

/app/themes/default/css/styles.css

我尝试这样做,但不起作用:

RewriteEngine on
RewriteRule ^/css/(.*)$/app/themes/default/css/$1 [NC,L]

观察结果

1)我不想为该URL创建VirtualHost / Alias.

我的问题是关于:

> .htaccess
>子文件夹
>重写规则

2)我不能在我的Apache的DocumentRoot目录中放置.htaccess

为什么?因为是我的开发机器,所以我的根目录下有很多文件夹.例如:

>博客
>项目
>投资组合
>研究
>测试
>工作

上面的所有项目都是我工作区中的一个文件夹,每个文件夹都是关于不同的事情,因此,我不需要将.htaccess放在根目录中,除非确实需要.

解决方法:

您不希望规则模式中出现前导斜线. htaccess文件中的RewriteRule将在应用规则之前去除前导斜杠:

RewriteRule ^css/(.*)$/app/themes/default/css/$1 [NC,L]
上一篇:将PHP网站转换为基于HTML的网站


下一篇:htaccess中的别名,并阻止对原始文件的访问? (URL重写)