thinkphp6伪静态设置隐藏默认模块名

发布于:2022-12-17 09:31    阅读次数:475    作者:云码素材    分类:技术分享    关键词:thinkphp6伪静态  

thinkphp6伪静态设置隐藏默认模块名


查看和修改默认模块名:


查看配置在 config/app.php 中:

// 默认应用 'default_app' => 'index',


项目默认安装的默认模块是 index,


可以自定义修改为其他模块名,比如home,  只需要调整 配置项 default_app 值为home,把默认模块名index目录改名为home即可


获取默认模块名称,代码如下:


<?php 
//默认模块名
 $defalutModule = config('app.default_app'); 
//当前模块名
$currentModule = app('http')->getName();

伪静态设置隐藏默认模块名:


比如默认模块名是index:


原先的伪静态规则:


if (!-e $request_filename) {
    rewrite ^(.*)$  /index.php?s=$1 last;
}

调整修改nginx配置为:


if (!-e $request_filename) {
    
    rewrite ^/admin(.*)$ /index.php?s=/admin$1;
    rewrite ^/mobile(.*)$ /index.php?s=/mobile$1;
    rewrite ^/api(.*)$ /index.php?s=/api$1;
    rewrite ^((?!/index).*)$ /index.php?s=/index$1; # hide url /index
    rewrite ^(.*)$  /index.php?s=$1 last; break;
}

然后重启nginx。


这样原地址: http://www.yunmasucai.com/index/page/about.html


可以缩短为:http://www.yunmasucai.com/page/about.html


就去掉了网址中带有 /index 的默认模块名前缀。


自定义 siteurl() 函数,替换原 url() 函数方法:



/**
 * 修正url地址
 * @param string $url 原地址
 */
function fixurl($url = '') {
    $string = (string) $url;
    $hideHomeName = true; // 是否去除url中默认模块名index
    $defalutModule = config('app.default_app');
    $currentModule = app('http')->getName();
    if($hideHomeName && $currentModule == $defalutModule) {
        # 去除url中默认模块名index
        $search = '/'.$defalutModule.'/';
        $pos = stripos($string, $search);
        if($pos !== false && substr_count(rtrim($string,'/'), '/') >= 2) {
            $string = substr($string, 0, $pos).'/'.substr($string, $pos + strlen($search));
        }
    }
    return $string;
}
/**
 * Url生成
 * @param string      $url    路由地址
 * @param array       $vars   变量
 * @param bool|string $suffix 生成的URL后缀
 * @param bool|string $domain 域名
 * return string
 */
function siteurl(string $url = '', array $vars = [], $suffix = true, $domain = false) {
    $defalutModule = config('app.default_app');
    $currentModule = app('http')->getName();
    $string = (string) url($url, $vars, $suffix, $domain);
    $hideHomeName = true; // 是否去除url中默认模块名index/
    if($hideHomeName && $currentModule == $defalutModule) {
        # 去除url中默认模块名index
        $search = '/'.$defalutModule.'/';
        $pos = stripos($string, $search);
        if($pos === 0) {
            //$string = '/'.ltrim($string, $search);
            //$string = '/'.substr($string, strlen($search));
            $string = substr($string, 0, $pos). '/'. substr($string, $pos + strlen($search));
        }
    }
    return $string;
}




入群分享

我要加群:资源共享的时代,不要再单打独斗!加小编微信号加入群:xnynews(备注:云码素材入群),qq群号:202498279,一起技术学习,资源分享!

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

原创声明:本站所有资源如果标明原创的为云码素材已测试或原创开发项目,可提供有偿技术服务,如标明为收集,为网络收集资源,网路收集资源不提供任何技术支持和服务,网络虚拟资源,一经售出,概不退货,请购买前认真看清资源详情说明。

推荐源码
查看更多

热门文章

1反向词典网站wantwords

2022-05-10 08:48   浏览:30360

2Tik Tok 深田咏美抖音视频100+合集资源免费下载【绿色】

2022-10-31 08:42   浏览:18661

3NB Map-自动生成三维地图工具网站

2022-03-27 09:29   浏览:14589

4河南高速公路实时路况监控查询入口分享

2022-09-11 15:02   浏览:12444

5微信视频号封面的宽和高是多少 及录制视频的分辨率是多大

2020-04-13 15:31   浏览:11343

6免费使用chatgpt3种方式 chatgpt国内入口无需梯子

2023-04-23 17:52   浏览:9634

7三个开源的php论坛bbs源码 可自建 圈子 帖子社区网站!

2020-09-15 21:34   浏览:8492

8可爱的在线捏猫小游戏网站-NieMao

2022-09-08 10:28   浏览:8350

9thinkphp6如何引入extend第三方类库

2019-08-28 17:28   浏览:8287

1015个顶级学习资源网站 免费白嫖

2021-03-29 10:22   浏览:7372

下午时段云码素材正在优化细节,力求做一个人见人爱的“细节控”哦~

免费领
签到客服赚钱 反馈 回顶部
× Your Image

每天一个精品源码资源

汽车贴膜改色小程序源码 汽车配色小程序源码 车身改色app源码 带后台 带数据