首頁 >後端開發 >php教程 >babyliss pro perfect curl php 友善URL的實作(吐血推薦)

babyliss pro perfect curl php 友善URL的實作(吐血推薦)

WBOY
WBOY原創
2016-07-29 08:38:591237瀏覽

友善URL的實現(吐血推薦)
大家常常看到別的站的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
這樣的吧
今天我就是公佈下這種方法的實現,並獨立出最簡單的程式碼
函數如下,沒封裝成類,主要是沒必要,用函數能方便些

複製程式碼 程式碼如下:


/**
* 獲得友好的URL訪問
*
* @access public
* @return array
*/
function getQueryString(){
$_SGETS = explode("/ ",substr($_SERVER['PATH_INFO'],1));
$_SLEN = count($_SGETS);
$_SGET = $_GET;
for($i=0;$iif(!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';
return $_SGET;
}
/**
* 產生連結網址
*
* @access public
* @param array $arr
* @return string
*/
function setUrl($arr){
global $Global;
$queryString='';
if($Global['urlmode']==2){
foreach($arr as $k=> $v){
$queryString .=$k.'/'.$v.'/';
}
}
$queryString.=$Global['urlsuffix'];
return $queryString;
}
?>


使用很簡單

複製程式碼 程式碼如下:



程式碼如下:


$_GET= getQueryString();
?>


但是這樣還不行,這樣只能實作

http://www.xxx.com/index. php/module/show/action/list/page/7 這樣的中間多了個index.php 為此我們要把他去掉,只好重寫但是有些文件又不希望這樣,比如樣式圖片,那就放條件裡建立一個.htaccess檔


複製程式碼

程式碼如下:


Rewrite >RewriteCond $1 !^(index.php|css|pics|themes|js|robots.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

現在OK了,趕快去測試

複製程式碼

程式碼如下:


$_GET= getQueryString( );

print_r($_GET);

?>

以上就介紹了babyliss pro perfect curl php 友善URL的實作(吐血推薦),包括了babyliss pro perfect curl方面的內容,希望對PHP教程有興趣的朋友有所幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn