0

我想使用几个 PHP-MySQL 制定自己的 url 重写规则。这个概念是在我的 .htaccess 中有一条规则,将所有请求发送到我的 index.php 文件,例如:

RewriteRule ^([a-zA-Z0-9_-]+)/$     index.php
RewriteCond %{REQUEST_URI}  !\.(.+)$
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301].

并且 php 将通过一个超级全局变量(如$_SERVER['REQUEST_URI']and )获取所有参数explode("/", $_SERVER['REQUEST_URI'])

函数重写(){
    $paramKeys = 数组(“”、“区域设置”、“页面”、“par1”、“par2”、“par3”、“par4”、“par5”);   
    $paramValues = explode("/", $_SERVER['REQUEST_URI']);   

    foreach($paramValues as $key => $value){
        if (!is_array($key)) {
            $paramValues[$key] = htmlspecialchars(stripslashes(trim($value)));  
            if($key == 0){ //但是第一个斜杠在 URL 的末尾
                继续;
            }
            elseif($key == sizeof($paramKeys)){
                休息;
            }
            否则 $params[$paramKeys[$key]] = $value;
        }
        否则继续;

    }
    返回$参数;
}

并将请求的 URL 与我的数据库中的 URL 进行比较,以按请求的文件找到 200、移动 301 或未找到 404 的顺序发送 http statut。

我有坏主意吗?如果没有,我该如何完善它。谢谢 !

4

0 回答 0