2013-02-27 67 views
0

我正在緩存完整的HTML頁面。每個緩存文件都被命名爲PHP的REQUEST_URI。 PHP的REQUEST_URL!= mod_rewrite REQUEST_URI。 PHP將文件保存爲「/ foo/bar/file?var1 = a & varb = 2」。我的重寫規則在mod_rewrtie中將QUERY_STRING附加到REQUEST_URI

RewriteCond %{REQUEST_METHOD} GET 
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.html -f 
RewriteRule .* cached/%{REQUEST_URI}\.html [L] 

由於未附加QUERY_STRING,因此顯然會失敗。修改我的規則以檢查真實文件名稱的最佳方法是什麼?

回答

0

我猜(查詢字符串附加)標誌不適用的CSA,但如果我理解正確你的問題,你可以在一個的RewriteCond匹配的查詢字符串,並將其追加到重寫規則

RewriteCond %{QUERY_STRING} ^([.*)$ 

,然後將其可以在RewriteRule中以%n的形式訪問。

+0

哦,對於我的介紹性語句表示歉意,很可能我需要重新閱讀您的問題 - 從我看到的不僅僅是追加現有的查詢字符串之後。再次,我的道歉。 你的問題似乎並沒有明確地表明你想要達到的目標。也許你可以添加一個你的輸入和期望結果的例子。 – ExternalUse 2013-02-27 13:04:16

+0

它發生,沒有後顧之憂。 – 2013-02-27 13:06:24

+0

我編輯了我的答案,希望有所幫助。 – ExternalUse 2013-02-27 13:10:07