thinkPHP5 ialah rangka kerja pembangunan PHP yang sangat baik Ia menyediakan kaedah pembangunan pantas dan komponen fungsi yang kaya, antaranya fungsi penghalaan URL adalah salah satu ciri pentingnya. Tetapi secara lalai, mengakses laluan memerlukan penambahan index.php pada URL. Demi keindahan dan keselamatan, artikel ini akan memperkenalkan cara menyembunyikan fail masuk dalam thinkPHP5.
1. Persediaan persekitaran
Sebelum penyembunyian URL, kita perlu menyemak sama ada persekitaran setempat menyokong fungsi pseudo-statik dan fungsi penulisan semula URL, supaya operasi penyembunyian URL dapat dijalankan dengan lancar . Mula-mula, kita mesti memastikan pelayan web seperti Apache atau Nginx dipasang, dan kemudian dayakan fungsi penulisan semula pseudo-statik dan URL dalam fail konfigurasi, supaya rangka kerja boleh mengecam dan menjana URL yang dipercantik.
2. Hidupkan penyembunyian URL
Dalam fail konfigurasi thinkPHP5, cari fail app.php dan cari item konfigurasi url_html_suffix Tetapkannya kepada rentetan kosong, iaitu:
'url_html_suffix' => ''
Ini membenarkan URL tidak mempunyai akhiran.
Dalam thinkphp5, dengan mengkonfigurasi peraturan penghalaan, anda boleh memetakan URL akses kepada pengawal atau kaedah operasi. Kita perlu membuat tetapan penghalaan yang sepadan untuk setiap pengawal atau kaedah operasi, dan memetakan URL yang sepadan dengan kandungan yang bermakna, supaya kesan tersembunyi boleh diberikan, contohnya:
Route:: get('news/ :id','index/index/news',[],['id'=>'d+']);
Dengan cara ini, apabila mengakses URL /news/1, Operasi berita kaedah pengawal indeks akan dipanggil secara automatik dan id parameter permintaan akan ditetapkan kepada 1.
Konfigurasi yang sepadan juga mesti dilakukan dalam Apache atau Nginx. Mengambil Apache sebagai contoh, tambahkan kandungan berikut dalam .htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . *)$ index.php?s=/$1 [QSA,PT,L]
Dalam kod ini, RewriteEngine menghidupkan fungsi penulisan semula URL Apache %{REQUEST_FILENAME} !-d dan RewriteCond %{; REQUEST_FILENAME} !-f adalah untuk mengecualikan permintaan untuk mengakses fail dan direktori untuk mengelakkan menjejaskan akses kepada sumber statik akhirnya, RewriteRule digunakan untuk menghalakan URL ke fail masukan thinkPHP index.php dan membawa maklumat penghalaan.
4. Fungsi tambahan
Untuk melindungi aplikasi kami, kami boleh menjadikan aplikasi kami lebih selamat dengan menetapkan Keselamatan akhiran URL. Sebagai contoh, anda boleh menetapkan semua akhiran URL kepada .shtml, .html, .shtml, dsb., yang boleh mengelakkan serangan pada aplikasi kami dengan berkesan.
Anda boleh mencari pilihan url_html_suffix dalam fail konfigurasi dan menambah akhiran yang sepadan, contohnya:
'url_html_suffix' => 'shtml|html|htm'
Kami boleh menambah peraturan penghalaan pada kaedah daftar dalam kelas Laluan supaya rangka kerja boleh mengenal pasti URL secara automatik. Contohnya:
if (is_file(APP_PATH . 'route.php')) {
Route::get('/', 'index/index');
Route::get( ' build', 'index/build');
include_once APP_PATH ;
}
Dengan cara ini, jika terdapat URL yang sepadan dengan peraturan, ia akan menjadi dimajukan secara automatik kepada pengawal yang sepadan atau cara-caranya.
3. Ringkasan
Melalui langkah di atas, kami boleh melaksanakan operasi penyembunyian URL dengan mudah dalam thinkPHP5, yang boleh menjadikan aplikasi kami lebih cantik, selamat dan lebih mudah untuk dikendalikan. Walau bagaimanapun, dalam aplikasi sebenar, konfigurasi dan penyahpepijatan yang lebih terperinci diperlukan untuk mencapai pengalaman perkhidmatan yang terbaik.
Atas ialah kandungan terperinci Bagaimana untuk menyembunyikan fail kemasukan dalam thinkPHP5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!