我目前正在为 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>`
Run Code Online (Sandbox Code Playgroud)
该链接工作正常,这是我正在努力解决的条件加载。尝试添加通配符,加上完整的 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
Run Code Online (Sandbox Code Playgroud)
正则表达式^/test/
匹配任何以开头的 URL 路径/test/
。如果这应该只匹配单个 URL,/test/
则在正则表达式中附加一个字符串结尾的锚点:^/test/$
。
请注意指令env=PRELOAD_FONT
末尾的额外参数Header
。仅当PRELOAD_FONT
由前面的SetEnvIf
指令设置的环境变量也设置时才设置标头。
归档时间: |
|
查看次数: |
1415 次 |
最近记录: |