伪静态

优质
小牛编辑
139浏览
2023-12-01

在FastAdmin中我们可以快速的使用伪静态来配置来对插件页面的URL进行伪静态处理。

伪静态配置

首先我们需要在addons/mydemo/config.php中添加伪静态配置项,如下图
image.png

代码如下:

[
    'name'    => 'rewrite',
    'title'   => '伪静态',
    'type'    => 'array',
    'content' =>
        [],
    'value'   =>
        [
            'index/index' => '/mydemo/$',
            'index/test'  => '/mydemo/test/[:name]',
        ],
    'rule'    => 'required',
    'msg'     => '',
    'tip'     => '',
    'ok'      => '',
    'extend'  => '',
],

通过以上配置,我们在使用addon_url函数来生成URL时,返回值将是处理过的URL,例如

$url1 = addon_url('mydemo/index/index');
$url2 = addon_url('mydemo/index/index', [':name'=>'myname', 'id'=>123]);
$url3 = addon_url('mydemo/index/index', [':name'=>'myname', 'id'=>123], true, true);

上面的结果将返回

/mydemo.html
/mydemo/test/myname.html?id=123
http://www.fa.com/mydemo/test/myname.html?id=123

我们的伪静态配置中的:name会被自动替换成addon_url第二个参数中的:name键的值。

绑定域名

如果需要让我们的插件支持二级域名,可以在addons/mydemo/config.php中添加一项域名配置项,如图:
image.png

代码如下:

[
    'name'    => 'domain',
    'title'   => '绑定二级域名前缀',
    'type'    => 'string',
    'content' =>
        [],
    'value'   => '',
    'rule'    => '',
    'msg'     => '',
    'tip'     => '',
    'ok'      => '',
    'extend'  => '',
],

该配置项默认为空,如果要使用二级域名生效,必须配置application/config.php中的url_domain_deploytrue时才会生效。
注意这里的value值仅是域名前缀,比如需要绑定域名book.mydemo.com,则这里只需输入book即可。

绑定了二级域名后,我们的addon_url函数会自动做相应的前缀处理。