[英]Htaccess syntax RewriteRule
我想嘗試了解一些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將被寫入兩次否?
但是在我的代碼中,我只有一次。
編輯
正如@nick在評論中所說
1-該規則由任何滿足規則本身的http請求觸發。 更確切地說 :
`1 or 2 alphabetic characters` / style / `any string`.css
2- [L]
表示僅適用第一個規則,其他匹配的規則將被忽略。
3-是的,正如我所說,該規則由任何滿足規則本身的http請求觸發
EDIT2
不,看來您沒有兩次輸出相同的內容。
$style = file_get_contents($urlstyle);
您正在將$style
URL的內容分配給$style
(由某些php代碼生成)。 與include
函數的行為不同,在這種情況下,這兩段代碼將被執行和編寫兩次。
所以沒關系,只有一次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.