因为需要一个URL跳转功能,所以就自己写了一个。
虽然我之前曾写过一个ASP.NET版本的,不过换了PHP空间之后,也只能一边看文档、一边学怎么写了。
好在PHP并不复杂,花了一点时间就写了一个还算能用的简易跳转库,顺便也分享出来请大家指正。

当前版本 v0.5.0
下载地址 https://www.lanzous.com/i6fu08j

请默认解压到主目录的 /go/ 文件夹中,如果您需要更改默认位置,记得修改 .htaccess 的Rewrite规则!!!
此库的功能并不复杂,只需要在 rules.php 中按照PHP数组格式设置规则,即可按照指定的规则对URL进行跳转。

CLSOGO的跳转规则如下:
$rules = [
    // 默认动作,如果不指定动作就会查询此集合内的规则
    // 查询规则如 /go/?donate 或 /go/apps(需.htaccess支持)
    'action' => [
        'clsogo' => 'https://blog.clso.fun/posts/2019-09-27/php-url-redirect-clsogo.html',
        'donate' => 'https://blog.clso.fun/donate.html',
        'apps' => 'https://blog.clso.fun/apps.html',
        'blog' => 'https://blog.clso.fun/',
        // 可以将规则指向一个匿名函数变量,匿名函数请存放于 func.php 中
        'test' => $func_test,
        // 执行匿名函数,所有的规则都可以由自定义方法执行,$_GETL是小写化的$_GET查询集合
        'update' => function($_GETL){
            wl('update todo');
            wp($_GETL);
        },
    ],
    // 自定义动作,规则如 /go/?app=clsogo 动作必须是第一个查询参数!
    'app' => [
        'clsogo' => 'https://blog.clso.fun/posts/2019-09-27/php-url-redirect-clsogo.html',
        'donate' => 'https://blog.clso.fun/donate.html',
        'apps' => 'https://blog.clso.fun/apps.html',
        'blog' => 'https://blog.clso.fun/',
        'go' => 'https://clso.fun/go/?clsogo',
        // 匿名函数可以获取所有的查询规则,如 /go/?app=update&apps=name&version=xxx
        'update' => function($_GETL){
            wl('update todo');
            wp($_GETL);
        },
    ],
    // 动作也可以定义为URL或者子函数,就可以这样直接访问 /go/?update&apps=name&version=xxx
    'update' => function($_GETL){
        wl('update todo');
        wp($_GETL);
    },

];
测试一下:
clso.fun/go/?blog
clso.fun/go/blog 如果服务器支持 .htaccess 的话可以省略问好
clso.fun/go?blog 这样也行~
clso.fun/go/?app=clsogo
clso.fun/go/?update&apps=clsogo&version=0.5.0
clso.fun/go/donate 觉得好用?可以捐助一下作者~