发布于:2022-12-17 09:31 阅读次数:646 作者:云码素材 分类:技术分享 关键词: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个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
热门标签
推荐模板
Light Year Admin后台模板 v4 iframe版本 基于Bootstrap 4.4.1
2024-10-20 22:57 浏览:104
html清爽ui设计作品集展示网站模板 响应式宣传网页制作代码模板
2024-09-23 10:12 浏览:342
热门文章
2022-05-10 08:48 浏览:31063
2Tik Tok 深田咏美抖音视频100+合集资源免费下载【绿色】
2022-10-31 08:42 浏览:29694
2022-03-27 09:29 浏览:15738
2022-09-11 15:02 浏览:12879
2020-04-13 15:31 浏览:12149
6免费使用chatgpt3种方式 chatgpt国内入口无需梯子
2023-04-23 17:52 浏览:10737
2022-09-08 10:28 浏览:9493
8三个开源的php论坛bbs源码 可自建 圈子 帖子社区网站!
2020-09-15 21:34 浏览:9378
2022-04-13 14:31 浏览:9361
2019-08-28 17:28 浏览:8703