Следующий код в основном представляет собой псевдостатическую реализацию, поэтому в поисковых системах
вы часто видите подобные URL-адреса других сайтов, верно?
http://www.xxx.com/module/show/action/list/page/7
или
http://xx.com/module/show/action/show/id/8.shtml с расширением или
http://xx.com/module/show/action/show/id/8?word=ss&age=11
Вот и все. Сегодня я объявлю о реализации этого метода и выделю простейшую функцию кода следующим образом. Она не инкапсулируется в классы, главным образом потому, что в ней удобнее использовать функции
<?php
.
/**
* Получите удобный доступ к URL-адресу.
*
* @accesspublic
* @return массив
*/
функция getQueryString(){
$_SGETS = взорвать("/",substr($_SERVER['PATH_INFO'],1));
$_SLEN = количество ($_SGETS);
$_SGET = $_GET;
for($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']) : 'run';
вернуть $_SGET;
}
/**
* Создать URL-адрес ссылки
*
* @accesspublic
* @param массив $arr
* @return строка
*/
функция setUrl($arr){
глобальный $Global;
$queryString='';
if($Global['urlmode']==2){
foreach($arr as $k=> $v){
$queryString.=$k.'/'.$v.'/';
}
}
$queryString.=$Global['urlsuffix'];
вернуть $queryString;
}
?>
Очень простой в использовании
<?php
$_GET= getQueryString();
?>
Но этого мало, этого можно добиться только
http://www.xxx.com/index.php/module/show/action/list/page/7 В середине есть лишний index.php, поэтому нам придется его удалить и переписать. Но. некоторых файлов нет. Если вы хотите, чтобы это было, например, в стиле картинки, то создайте файл .htaccess в условии
RewriteEngine on
RewriteCond $1 !^(index.php|css|pics|themes|js|robots.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
Теперь все в порядке, иди и протестируй сейчас
<?php
$_GET= getQueryString();
print_r($_GET);
?>