わかりやすい URL の実装 (Hematemesis 推奨)
このような 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); 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') ']) ? トリム($_SGET[ 'm']).'アクション' : 'indexAction'
$_SGET['a'] = !empty($_SGET['a']) && is_string($_SGET) ['a']) ? トリム( $_SGET['a']) : '実行'
return $_SGET;
/**
* リンク URL を生成
*
* @access public
* @param array $arr
* @return string
*/
関数 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が必要です。これを削除すると、
を書き換える必要があります。ただし、一部のファイルでは、これを望まない場合があります。たとえば、スタイル画像を使用する場合は、
コードをコピーします コードは次のとおりです:
RewriteEngine on
RewriteCond $1 !^(index.php|css|pics|主題| js|robots.txt)
RewriteRule ^(.*)$index.php/$1 [L]
$ _GET= getQueryString() print_r($_GET); ;
?>