El siguiente código es principalmente una implementación pseudoestática. Los motores de búsqueda como este
suelen ver URL de otros sitios como este, ¿verdad?
http://www.xxx.com/module/show/action/list/page/7
o
http://xx.com/module/show/action/show/id/8.shtml con extensión o
http://xx.com/module/show/action/show/id/8?word=ss&age=11
Eso es todo. Hoy anunciaré la implementación de este método y separaré la función de código más simple de la siguiente manera. No está encapsulada en clases, principalmente porque no es necesario usar funciones
<?php.
/**
* Obtenga acceso URL amigable
*
* @accesopublico
* matriz @return
*/
función obtenerQueryString(){
$_SGETS = explotar("/",substr($_SERVER['PATH_INFO'],1));
$_SLEN = contar($_SGETS);
$_SGET = $_GET;
para($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']).'Acción' : 'indexAction';
$_SGET['a'] = !empty($_SGET['a']) && is_string($_SGET['a']) ? trim($_SGET['a']) : 'ejecutar';
devolver $_SGET;
}
/**
* Generar URL de enlace
*
* @accesopublico
* @param matriz $arr
* @cadena de retorno
*/
función setUrl($arr){
global $Global;
$queryString='';
si($Global['urlmode']==2){
foreach($arr como $k=> $v){
$queryString.=$k.'/'.$v.'/';
}
}
$queryString.=$Global['urlsuffix'];
devolver $queryString;
}
?>
Muy simple de usar
<?php
$_GET= getQueryString();
?>
Pero esto no es suficiente, esto sólo se puede lograr
http://www.xxx.com/index.php/module/show/action/list/page/7 Hay un index.php adicional en el medio, por lo tanto, tenemos que eliminarlo y reescribirlo. algunos archivos no lo son. Si desea esto, por ejemplo, imágenes de estilo, cree un archivo .htaccess en la condición
RewriteEngine en
RewriteCond $1 !^(index.php|css|pics|themes|js|robots.txt)
Reescribir regla ^(.*)$ index.php/$1 [L]
Ahora está bien, ve y pruébalo ahora
<?php
$_GET= getQueryString();
print_r($_GET);
?>