Kode berikut ini sebagian besar merupakan implementasi pseudo-statis. Mesin pencari seperti itu
Anda sering melihat URL situs lain seperti ini, bukan?
http://www.xxx.com/module/show/action/list/page/7
atau
http://xx.com/module/show/action/show/id/8.shtml dengan ekstensi atau
http://xx.com/module/show/action/show/id/8?word=ss&age=11
Itu saja. Hari ini saya akan mengumumkan implementasi metode ini, dan memisahkan fungsi kode paling sederhana sebagai berikut. Ini tidak dienkapsulasi ke dalam kelas, terutama karena lebih nyaman menggunakan fungsi
<?php
/**
* Dapatkan akses URL yang ramah
*
* @akses publik
* @return array
*/
fungsi getQueryString(){
$_SGETS = meledak("/",substr($_SERVER['PATH_INFO'],1));
$_SLEN = hitungan($_SGETS);
$_SGET = $_GET;
untuk($i=0;$i<$_SLEN;$i+=2){
if(!empty($_SGETS[$i]) && !empty($_SGETS[$i+1])) $_SGET[$_SGETS[$i]]=$_SGETS[$i+1];
}
$_SGET['m'] = !empty($_SGET['m']) && is_string($_SGET['m']) ? trim($_SGET['m']).'Action' : 'indexAction';
$_SGET['a'] = !empty($_SGET['a']) && is_string($_SGET['a']) ? trim($_SGET['a']) : 'lari';
kembalikan $_SGET;
}
/**
* Hasilkan URL tautan
*
* @akses publik
* @param array $arr
* @mengembalikan string
*/
fungsi setUrl($arr){
global $Global;
$queryString='';
if($Global['urlmode']==2){
foreach($arr sebagai $k=> $v){
$queryString.=$k.'/'.$v.'/';
}
}
$queryString.=$Global['urlsuffix'];
kembalikan $queryString;
}
?>
Sangat mudah digunakan
<?php
$_GET= getQueryString();
?>
Namun ini tidak cukup, ini hanya bisa dicapai
http://www.xxx.com/index.php/module/show/action/list/page/7 Ada tambahan index.php di tengahnya. Oleh karena itu, kita harus menghapusnya dan harus menulis ulang beberapa file tidak Jika Anda menginginkan ini, misalnya gambar gaya, maka buatlah file .htaccess dalam kondisi
RewriteEngine aktif
Penulisan UlangCond $1 !^(index.php|css|pics|themes|js|robots.txt)
Aturan Penulisan Ulang ^(.*)$index.php/$1 [L]
Sekarang tidak apa-apa, buka dan uji sekarang
<?php
$_GET= getQueryString();
print_r($_GET);
?>