ホームページ  >  記事  >  php教程  >  phpフレンドリーURLの実装(吐血推奨)

phpフレンドリーURLの実装(吐血推奨)

WBOY
WBOYオリジナル
2016-06-13 12:26:571012ブラウズ

わかりやすい 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が必要です。これを削除すると、
を書き換える必要があります。ただし、一部のファイルでは、これを望まない場合があります。たとえば、スタイル画像を使用する場合は、

.htaccess ファイルを作成する

とします。

コードをコピーします コードは次のとおりです:

RewriteEngine on
RewriteCond $1 !^(index.php|css|pics|主題| js|robots.txt)
RewriteRule ^(.*)$index.php/$1 [L]

これでOKです。早速テストしてみましょう



コードをコピーします

コードは次のとおりです:

$ _GET= getQueryString() print_r($_GET); ;

?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。