Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh Menulis Semula Pembolehubah GET untuk Mencipta URL Bersih dengan .htaccess?

Bagaimanakah saya boleh Menulis Semula Pembolehubah GET untuk Mencipta URL Bersih dengan .htaccess?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-26 19:44:10940semak imbas

How can I Rewrite GET Variables to Create Clean URLs with .htaccess?

Menulis Semula Pembolehubah GET dengan .htaccess

Dalam pembangunan web, selalunya wajar untuk mencipta URL yang bersih dan menyenangkan dari segi estetika sambil mengekalkan fungsi permintaan parameter. Ini boleh dicapai menggunakan peraturan tulis semula .htaccess.

Andaikan anda mempunyai fail index.php yang mengendalikan semua penghalaan, menerima pembolehubah GET sebagai parameter "halaman". Untuk mencapai penulisan semula URL berikut:

http://localhost/index.php?page=controller

Kepada:

http://localhost/controller/

Anda boleh menggunakan peraturan penulisan semula berikut:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w\d~%.:_\-]+)$ index.php?page= [NC]

Untuk mengendalikan parameter tambahan dalam URL, anda boleh menggunakan peraturan tulis semula berikut:

RewriteRule ^(.*)$ index.php?params= [NC, QSA]

Dengan peraturan tulis semula ini, fail PHP sebenar anda akan menerima parameter sebagai "params" dalam tatasusunan GET. Anda boleh mengakses parameter dengan meletupkan rentetan "params" menggunakan kod seperti ini:

$params = explode("/", $_GET['params']);
for($i = 0; $i < count($params); $i+=2) {
  echo $params[$i] . " has value: " . $params[$i+1] . "<br />";
}

Penyelesaian ini membolehkan anda mengekalkan URL yang bersih semasa mengakses parameter GET dalam skrip PHP anda, menyediakan mesra pengguna dan konsisten pengalaman web.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Menulis Semula Pembolehubah GET untuk Mencipta URL Bersih dengan .htaccess?. 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