ホームページ >バックエンド開発 >PHPチュートリアル >babyliss properfectcurlのphpフレンドリーURLの実装(吐血推奨)
フレンドリーな 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); $_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') ']) ? トリム($_SGET[ 'm']).'アクション' : 'インデックスアクション'
$_SGET['a'] = !empty($_SGET['a']) && is_string($_SGET[' a']) ? トリム($_SGET ['a']) : '実行'
/**
* リンク URL を生成
*
* @access public
* @param array $arr
* @return string
*/
関数 setUrl($arr){
$queryString='';
if( $Global['urlmode']==2){
foreach($arr as $k=> $v){
$queryString.=$k.'/'.$v .'/';
}
}
$queryString.=$Global['urlsuffix'];
?> _GET= getQueryString()?>
; 、これは次のように
http://www.xxx.com/index.php/module/show/action/list/page/7 のみを達成できます
真ん中に余分なindex.phpがあるので、削除する必要がありますそれを書き直す必要があります
しかし、スタイルピクチャなど、一部のファイルはこれを望まないので、条件に入れてください
.htaccessファイルを作成します
コードをコピーします コードは次のとおりです:
RewriteEngine onRewriteCond $1 !^(index.php|css|pics|主題|js|robots.txt)
RewriteRule ^(.*)$index.php/$1 [L]
これでOKです、行ってくださいすぐにテストしてください
$_GET= getQueryString() ?> 上記は、babyliss properfectcureのPHPフレンドリーなURL(吐血推奨)の実装を紹介しています。babylissproperfectcurlの内容も含めて、PHPチュートリアルに興味のある友人の参考になれば幸いです。