Pramuat Tautan menggunakan Petunjuk File di .htaccess

Mar 19 2020

Saat ini saya memuat file font untuk satu halaman web di WordPress.

Jadi https://example.comtidak dimuat sebelumnya. https://example.com/test/file font yang dimuat sebelumnya.

Inilah yang saya dapatkan .htaccess.

<Files "/test/">
Header add Link "</fonts/poppins.woff2>; rel=preload; as=font; type=font/woff2; crossorigin"
</Files>`

Tautan berfungsi dengan baik, itu adalah pemuatan bersyarat yang saya perjuangkan. Mencoba menambahkan karakter pengganti, ditambah URL lengkap, dll, tetapi tidak menyenangkan.

Apakah saya benar dalam berpikir itu bukan sintaks, tetapi perlu diizinkan sebelum berfungsi?

Jawaban

5 MrWhite Mar 19 2020 at 05:14

Ini adalah sintaks ...

The <Files>pertandingan direktif terhadap nama file saja (misalnya. foo.php) - ketika permintaan peta ke file fisik pada filesystem. Karena ini adalah WordPress, saya asumsikan /test/bahkan bukan direktori sistem file - ini hanya jalur URL?

Anda dapat menggunakan mod_setenvif untuk menyetel variabel lingkungan saat jalur URL ini diminta dan kemudian menyetel secara Headerbersyarat berdasarkan variabel lingkungan ini.

Ini harus diletakkan sebelum pengontrol depan WordPress, di dekat bagian atas .htaccessfile Anda .

Sebagai contoh:

SetEnvIf Request_URI "^/test/" PRELOAD_FONT
Header add Link "</fonts/poppins.woff2>; rel=preload; as=font; type=font/woff2; crossorigin" env=PRELOAD_FONT

Regex ^/test/cocok dengan jalur URL mana pun yang dimulai /test/ . Jika ini harus hanya cocok dengan URL tunggal /test/kemudian tambahkan akhir-of-string anchor ke regex: ^/test/$.

Perhatikan env=PRELOAD_FONTargumen ekstra di akhir Headerarahan. Header hanya disetel jika PRELOAD_FONTvariabel lingkungan, yang disetel oleh SetEnvIfpetunjuk sebelumnya , juga disetel.