簡體   English   中英

htaccess語法RewriteRule

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM