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.suanmingli.com/index/page/about.html
可以缩短为:http://www.suanmingli.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; }
评论(0)

友情提示:评论成功赠送5积分(每日前3次),刷评论扣8积分!
这些是最新的
- H5塔罗牌占卜/爱情塔罗牌源码/塔罗牌源码/爱情塔罗php源码/星座算命感情财运
- 2021版win10激活工具kms
- 去除宝塔强制登陆绑定账号
- 一鸣惊人 手机轰炸,支持短信轰炸和电话轰炸
- 网赚宝 thinkphp5.1开发的广告点击系统 点金投资分红
- 快手点赞任务系统 抖音短视频点赞任务系统最新版 大转盘抽奖机器人全新UI微信爱点赞悬赏众人帮爱分享赚钱平台
- 幸~~运~~28(北~~京28)pc~~蛋~~蛋 开~~奖结果 彩cp票走势图 源码
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.1.201225
- win10系统右键新建:state repository service占用CPU的解决方法
- 你知道CentOS Linux和CentOS Stream应该用哪个吗?
- 【学习版】TP5+VUE王者荣耀LOL刀塔电竞战队联赛事陪玩/代练系统
- 尊云网站分类目录程序本地截图配置说明
- 百家姓 PHP+MYSQL 百家姓/万家姓 SQL文件+PHP演示程序
- 大商创忘记admin密码的情况下如何修改或重置管理员密码?
- 全唐诗数据库 43030条唐诗 2528位古诗人 (.sql格式)
热门排行
- THINKPHP5+GatewayWorker+Workerman 开发在线客服系统
- 在手机浏览器网页中点击链接跳转到微信界面的方法
- 用NW.js(node-webkit)开发多平台的桌面客户端
- AdminTemplate 基于LayUI 2.4.5实现的网站后台管理模板
- CentOS 7安装shadowsock(一键安装脚本)
- 织梦(DEDECMS)微信支付接口 微信插件
- PHP生成随机昵称/用户名
- THINKPHP5网站分类目录程序 尊云网站目录系统
- 基于LayUI开发的 网站后台管理模板 BeginnerAdmin
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.1.201225
- 简洁清爽的会员中心模板
- layuiAdmin后台管理模板 Iframe版
- 响应式后台网站模板 - AMA.ADMIN
- LayUI 1.0.9 升级 至 LayUI 2.1.4 方法
- jQuery幸运大转盘抽奖活动代码