php实现简单路由router功能

自己的路由功能

php代码

   
    if (is_array($_GET)&&count($_GET)>0)
    {
        $key = array("root","branch","leaf");
        $value = array();
        $keylen=count($key);

        for($i=0; $i<$keylen; $i++)
        {
            $value[$i] = $_GET[$key[$i]];
        }

        require_once("sys/router.php");
        $Router = new Router();
        $Router->jump($value[0], $value[1], $value[2]);
    }
    else
    {
        require_once("pages/index.php");
    }   
?> 

.htaccess文件内容

RewriteEngine On
RewriteCond $1 !^(index.php\.php|images|robots\.txt)
RewriteRule ([a-zA-Z]{1,})/([a-zA-Z]{1,})/([0-9]{1,}).html$ /index.php?root=$1&branch=$2&leaf=$3

效果如图:

php实现简单路由router功能_第1张图片

参考 1:

.htaccess文件内容

RewriteRule ([a-zA-Z]{1,})/([0-9]{1,}).html$ /index.php?action=$1&id=$2

php代码

index.php
echo '你的Action是:' . $_GET['action'];  
echo '
'
; echo '你的ID是:' . $_GET['id'];

参考来源链接

参考 2:

.htaccess文件内容

RewriteRule ^([a-zA-Z0-9/]*)$ index.php/$1

php代码

$pathinfo = explode('/',$_SERVER['PATH_INFO']);
echo '控制器:',$pathinfo[1];
echo '
'
; echo '模块:',$pathinfo[2] != ''?$pathinfo[2]:'index'; echo '
'
; echo '参数:',var_dump($_GET);

参考来源链接

你可能感兴趣的:(后端,Web全栈开发学习笔记)