Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh menggunakan .htaccess untuk mencipta URL cantik daripada parameter pertanyaan?

Bagaimanakah saya boleh menggunakan .htaccess untuk mencipta URL cantik daripada parameter pertanyaan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-05 14:46:02680semak imbas

How can I use .htaccess to create pretty URLs from query parameters?

Membuat URL Cantik dengan .htaccess

Soalan: Bagaimana saya boleh menukar URL daripada http://localhost /index.php?user=1&action=update ke http://localhost/user/1/update menggunakan .htaccess?

Jawapan:

Untuk mencapai transformasi ini , anda boleh menggunakan peraturan .htaccess berikut:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^user/([0-9]*)/([a-z]*)$ ./index.php?user=&action=

Penjelasan:

  1. Tulis Semula Kumpulan: Tanda kurung dalam RewriteRule kumpulkan id pengguna ([0-9]*) dan tindakan ([a-z]*).
  2. Padanan Corak: Corak ^pengguna/([0-9]*)/ ([a-z]*)$ sepadan dengan URL seperti pengguna/1/kemas kini.
  3. Rentetan Penggantian: ./index.php?user=$1&action=$2 menentukan bahawa id pengguna yang diekstrak ($1) dan tindakan ($2) hendaklah dihantar sebagai parameter pertanyaan kepada index.php.

Untuk Mengakses Parameter dalam PHP:

Untuk mengakses yang diekstrak parameter dalam kod PHP anda, gunakan yang berikut:

<code class="php"><?php
echo "user id:" . $_GET['user'];
echo "<br>action:" . $_GET['action'];
?></code>

Nota:

  • Corak [0-9]* dan [a-z]* menentukan bahawa id pengguna hendaklah hanya mengandungi nombor dan tindakan itu hendaklah hanya mengandungi aksara huruf kecil, masing-masing.
  • Pengumpulan dan ungkapan biasa membolehkan transformasi URL yang lebih khusus dan selamat berbanding menggunakan (.*), yang menerima hampir semua perkara.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan .htaccess untuk mencipta URL cantik daripada parameter pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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