我想尝试了解我的htaccess规则,但是我无法成功找到合适的文档。
RewriteRule ^([a-z]{1,2})?\/?style\/(.*).css$ site/scripts/concat-files.php?type=css&page=$2&lang=$1 [L,QSA]
问题1:
我猜这条规则是由这样的事情触发的。 <link rel="stylesheet" src =<?php echo URL ?>"/en/style/accueil.css">
我对吗 ?
问题2:我知道QSA允许将请求参数从第一个URL保留到重写URL。但是L在做什么?
问题3:规则是由这类事情触发的吗?
$urlstyle = URL."en/style/accueil.css";
$style = file_get_contents($urlstyle);
谢谢。
编辑:然后考虑这个
$urlstyle = URL_SITE.'en/style/accueil.css';
$style = file_get_contents($urlstyle);
echo $style;
样式是书面的。
但是在我的concat-files.php中
我有这个
$pathfile= PATH . $file;
$sContenu = @file_get_contents( $pathfile);
if( $sContenu !== false) {
echo $sContenu;
}
这意味着Accueil CSS将被写入两次否?
但是在我的代码中,我只有一次。
答案 0 :(得分:0)
修改
正如@nick在评论中所说的
1-该规则由任何满足规则本身的http请求触发。或者更确切地说:
`1 or 2 alphabetic characters` / style / `any string`.css
2-{{1}}表示仅第一条规则适用,其他匹配的规则将被忽略。
3-是的,正如我所说的,该规则由任何满足规则本身的http请求触发
Edit2
不,看来您没有两次输出相同的内容。
[L]
您正在将{由某些PHP代码生成的)URL内容分配给$style = file_get_contents($urlstyle);
。
与$style
函数的行为不同,在这种情况下,这两段代码将被执行和写入两次。
没关系,只有一次。