Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menulis Semula URL dengan Parameter GET Menggunakan .htaccess?

Bagaimanakah Saya Boleh Menulis Semula URL dengan Parameter GET Menggunakan .htaccess?

DDD
DDDasal
2024-11-16 13:35:02821semak imbas

How Can I Rewrite URLs with GET Parameters Using .htaccess?

Menulis Semula Pembolehubah GET dengan .htaccess

Banyak aplikasi web menggunakan struktur URL yang merangkumi kandungan dinamik, seperti contoh yang diberikan: indeks. php?page=controller. Untuk meningkatkan pengalaman pengguna dan mengekalkan struktur URL yang lebih bersih, adalah wajar untuk menulis semula URL ini untuk dipaparkan dalam format yang lebih mesra pengguna. Ini boleh dicapai menggunakan peraturan .htaccess.

Peraturan .htaccess yang disediakan secara berkesan menulis semula URL dalam bentuk http://localhost/index.php?page=controller ke http://localhost/controller/. Walau bagaimanapun, keperluan adalah untuk turut menyokong parameter GET, menghasilkan URL seperti http://localhost/controller/param/value/param/value.

Untuk mencapai ini, RewriteRule berikut boleh ditambah pada Fail .htaccess:

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

Peraturan ini menangkap keseluruhan URL, termasuk sebarang parameter dan memperuntukkan data yang ditangkap kepada pembolehubah GET params. Akibatnya, URL http://localhost/controller/param/value/param/value akan ditulis semula ke index.php?params=param/value/param/value.

Dalam skrip PHP, params Pembolehubah GET boleh diletupkan untuk mengekstrak parameter individu dan nilainya. Contohnya:

<?php

$params = explode("/", $_GET['params']);
for($i = 0; $i < count($params); $i+=2) {

  echo $params[$i] ." has value: ". $params[$i+1] ."<br />";

}

?>

Dengan pengubahsuaian ini, peraturan .htaccess akan berjaya menulis semula URL dengan parameter GET, membolehkan skrip PHP mengakses parameter ini untuk pemprosesan selanjutnya dan logik pengawal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menulis Semula URL dengan Parameter GET Menggunakan .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