Penulisan Semula URL: Menyelesaikan Gagal Memuatkan CSS, JS dan Imej
Apabila melaksanakan peraturan penulisan semula URL dalam .htaccess, isu biasa timbul di mana aset luaran seperti CSS, JS dan imej gagal dimuatkan dengan betul. Ini boleh dikaitkan dengan perubahan dalam pangkalan URI apabila ubah hala berlaku.
Penyelesaian awal melibatkan penggunaan laluan mutlak, yang memastikan aset terletak tanpa mengira URL halaman. Walau bagaimanapun, ini memerlukan pengubahsuaian yang membosankan pada semua fail, menjadikannya penyelesaian yang tidak boleh dipercayai.
Pendekatan alternatif memanfaatkan peraturan .htaccess untuk mewujudkan URI asas yang konsisten:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteRule ^detail/([0-9]+)/?$ detail.php?id= RewriteEngine On RewriteCond %{REQUEST_URI} !^/css/ RewriteCond %{REQUEST_URI} !^/js/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /detail/123/ [R=307,L]
Peraturan ini memastikan semua aset luaran dirujuk daripada URL /detail/123/. Bendera [R=307,L] mengubah hala permintaan ke URI asas yang betul (/detail/123/), menyelesaikan isu pemuatan aset dengan berkesan tanpa memerlukan laluan mutlak.
Bersempena dengan ini, anda boleh menambah a
<base href="/detail/123/">
Ini mengukuhkan lagi URI asas dan membolehkan laluan relatif berfungsi dengan betul. Dengan melaksanakan peraturan ini, anda boleh mengekalkan penulisan semula URL sambil mengelakkan keperluan untuk mengedit fail individu, memastikan pengalaman pengguna yang lancar.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Isu CSS, JS dan Pemuatan Imej Selepas Melaksanakan Penulisan Semula URL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!