我的一个页面上的一些html使用CSS进行样式处理,为了使其成为动态的,CSS代码必须包含一组特定的PHP变量。话虽这么说,我编辑了我的.htaccess
文件,以便真正的PHP文件被欺骗被视为CSS文件。 .htaccess
文件看起来如此:
RewriteRule ^/css/bars/([^/]*)/([^/]*)/([^/]*)/([^/]*).css$ /css/bars.php?one=$1&two=$2&three=$3&four=$4 [L]
所以,对于页面的头部,我有:
<link rel="stylesheet" type="text/css" href="/css/bars/0/0/15/2" />
但是,CSS文件不会加载。在服务器上找不到该文件。让我相信重写规则是不正确的。有什么想法吗?
答案 0 :(得分:0)
你可以试试这个:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bars\.php [NC]
RewriteCond %{REQUEST_URI} ^/css/bars/([^/]+)/([^/]+)/([^/]+)/([^/]+)/? [NC]
RewriteRule .* css/bars.php?one=%1&two=%2&three=%3&four=%4 [L]
无声地映射
http://example.com/css/bars/0/0/15/2
有或没有斜杠。始终显示在浏览器的地址栏中
要:
http://example.com/css/bars.php?one=0&two=0&three=15&four=2
假设字符css
,bars
和bars.php
是固定的,而0/0/15/2
都假定为变量,数量为4。
必须保留传入的URL结构才能使规则集正常工作:第一个文件夹/css
后跟/bars
,依此类推。
对于永久重定向,请将[L]
替换为[R=301,L]
希望这就是你所需要的。