Dot-Htaccess
在 .htaccess 中使用 Files 指令預載入連結
我目前正在為 WordPress 上的一個網頁預載入字型檔。
所以
https://example.com
沒有預裝。https://example.com/test/
預載入的字型檔。這就是我得到的
.htaccess
。<Files "/test/"> Header add Link "</fonts/poppins.woff2>; rel=preload; as=font; type=font/woff2; crossorigin" </Files>`
該連結工作正常,這是我正在努力解決的條件載入。嘗試添加萬用字元,加上完整的 URL 等,但沒有任何樂趣。
我是否認為這不是語法,但它需要在它工作之前允許?
這是語法…
該
<Files>
指令僅與文件名匹配(例如foo.php
) - 當請求映射到文件系統上的物理文件時。由於這是 WordPress,我認為/test/
它甚至不是文件系統目錄——它只是一個 URL 路徑?您可以在請求此 URL 路徑時使用 mod_setenvif 設置環境變數,然後
Header
根據此環境變數有條件地設置。這應該在WordPress 前端控制器之前,靠近
.htaccess
文件頂部。例如:
SetEnvIf Request_URI "^/test/" PRELOAD_FONT Header add Link "</fonts/poppins.woff2>; rel=preload; as=font; type=font/woff2; crossorigin" env=PRELOAD_FONT
正則表達式
^/test/
匹配任何以/test/
. 如果這應該只匹配單個 URL/test/
,則將字元串結尾錨附加到正則表達式:^/test/$
。
env=PRELOAD_FONT
請注意指令末尾的額外參數Header
。僅目前面的指令PRELOAD_FONT
設置的環境變數也設置時,才設置標頭。SetEnvIf