php實現簡單路由router功能

弈心逐夢發表於2017-12-27

自己的路由功能

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);

參考來源連結

相關文章