php实现简单路由router功能

php实现简单路由router功能


DATE: 2017-12-27 16:28:37

自己的路由功能

php代码

<?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

效果如图:

这里写图片描述

参考 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 '<br/>';  
echo '你的ID是:' . $_GET['id'];  

参考来源链接

参考 2:

.htaccess文件内容

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

php代码

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

参考来源链接

版权声明

弈心博客


本文首发site_name,转载请附上博文链接!