Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menulis Semula URL dengan Pembolehubah GET dalam .htaccess untuk Penghalaan Bersih?

Bagaimanakah Saya Boleh Menulis Semula URL dengan Pembolehubah GET dalam .htaccess untuk Penghalaan Bersih?

Linda Hamilton
Lepaskan: 2024-11-15 11:34:03
asal
346 orang telah melayarinya

How Can I Rewrite URLs with GET Variables in .htaccess for Clean Routing?

Menulis semula URL dengan GET Variables dalam .htaccess

Apabila menggunakan PHP untuk tujuan penghalaan (cth., index.php?page=controller), adalah berguna untuk mempunyai struktur URL yang lebih bersih dan mesra pengguna. .htaccess, fail konfigurasi Apache yang digunakan secara meluas, menyediakan cara yang mudah untuk menulis semula URL dan mengendalikan pembolehubah GET.

Dalam situasi yang diberikan, matlamatnya adalah untuk mempunyai URL seperti http://localhost/controller/ laluan ke index.php?page=controller dengan cara yang bersih dan ringkas. Selain itu, keperluan adalah untuk menyokong URL dengan parameter, seperti http://localhost/controller/param/value/param/value, yang sepatutnya dipetakan ke http://localhost/controller/?param=value¶m=value dengan GET pembolehubah.

Untuk mencapai matlamat ini, penyelesaian yang mudah tetapi berkesan boleh dilaksanakan menggunakan peraturan tulis semula dalam .htaccess fail:

RewriteRule ^([\w\d~%.:_\-]+)/(.+)$ index.php?page=&params= [NC, QSA]
Salin selepas log masuk
  1. Corak Tulis Semula: RewriteRule bermula dengan corak ^([wd~%.:_-] )/(. )$, yang sepadan dengan mana-mana URL yang terdiri daripada nama pengawal diikuti dengan garis miring dan sebarang parameter tambahan yang dipisahkan dengan garis miring.
  2. Sasaran URL: URL sasaran ialah index.php?page=$1¶ms=$2. Di sini, $1 mewakili nama pengawal dan $2 mewakili keseluruhan rentetan parameter.
  3. Tulis Semula Bendera: Bendera NC (Tiada Kes) memastikan pemadanan tidak sensitif huruf besar-besaran, manakala bendera QSA (Pertanyaan String Append) menggabungkan rentetan GET sedia ada dengan parameter daripada peraturan tulis semula.

Dengan peraturan ini ditetapkan, URL seperti http://localhost/controller/param/value/param/value akan ditulis semula ke index.php?page=controller¶ms=param/value/param/value. Ini menyediakan cara yang bersih dan mudah untuk mengurus parameter GET dan mengekalkan struktur URL asal.

Untuk mengakses parameter ini dalam kod PHP anda, anda boleh menggunakan $_GET['params'], yang mengandungi rentetan parameter. Anda kemudian boleh memisahkannya menggunakan pembatas (cth., /) dan mengakses nilai parameter individu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menulis Semula URL dengan Pembolehubah GET dalam .htaccess untuk Penghalaan Bersih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan