h"/> h">
ホームページ >バックエンド開発 >PHPチュートリアル >PHP フレンドリーな URL_PHP チュートリアルの実装
次のコードは主に、検索エンジンが好む擬似静的実装です 他のWebサイトでもこのようなURLをよく見かけますよね?
http://www.xxx.com/module/show/action/list/page/7
or
html">http://xx.com/module/show/action/show/id/8.shtml拡張子
または
http://xx.com/module/show/action/show/id/8?word=ss&age=11
このように
今日、このメソッドの実装を発表し、独立して公開します 最も単純なコード
関数は次のとおりです。主に関数を使用する方が便利なため、クラスにカプセル化されません。
* フレンドリーな URL アクセスを取得します
*
* @accesspublic
* @return array
*/
function getQueryString(){
$_SGETS =explode("/",substr($_SERVER[PATH_INFO],1));
$_SLEN = count($_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]) ? トリム($_SGET[m]).アクション:indexAction;
$_SGET[a] = !empty($_SGET[a]) && is_string($_SGET[a]) ? ) : run;
return $_SGET;
}
/**
* リンク URL を生成します
*
* @accesspublic
* @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ファイルを作成します
RewriteCond $1 !^(index.php|css|pics|主題|js|robots.txt)
RewriteRule ^(.*)$index.php/$1 [L]
これでOKです、テストしてみましょう今