thinkphp5---路由问题
在做thinkphp的开发项目中,遇到一个需求:要求让网站的链接,必须以 .html结尾。
原因:在thinkphp开发的项目中,使用伪静态,路由格式:xxx.com/xxx/2.html ,但是后面的 .html 是默认的,通过访问 xxx.com/xxx/2 也能够访问。
现在要求只能够通过:xxx.com/xxx/2.html 访问,也就是结尾必须有 .html
解决方式:
1、服务器 apache 或是是 nginx 進行配置重定向。
2、通过thinkphp的路由来解决

我们可以通过一个方法来进行验证当前路由是否带有 .html 。
具体操作:
第一步:配置路由
':name/:id' => ['index/index/details',['before_behavior'=>'\app\index\behavior\UserCheck']],
第二步:自定义方法进行验证

<?php
namespace app\index\behavior; class UserCheck{
public function run(){
$url = request()->url();
if(!preg_match("/[\w\d]*.html$/",$url)){
echo "不是以.html结尾的URL";
// header("HTTP/1.1 404 Not Found");exit;
}
}
}
thinkphp5---路由问题的更多相关文章
- thinkphp5路由心得
路由的作用:1. 简化URL地址,方便大家记忆2. 有利于搜索引擎的优化,比如可以被百度的爬虫抓取到 优化URl1. 前后端分离修改入口文件,在public下新建admin.php文件,将下面的代码添 ...
- js和thinkphp5路由拼接一个实例
$.ajax({ type:"get", dataType:"json", url:"/home/index/ajax_page_data/cate_ ...
- ThinkPHP5路由图解
- lnmp1.4 nginx配置thinkphp5
vhost/xxx.conf配置图,重点是红色框框 研究了两三天 ,至此thinkphp5 路由,隐藏index.php全部解决 感谢网友的分享:http://blog.csdn.net/gaoxiu ...
- tp5--路由的使用方法(深入)
懒得写注释,直接上代码 配置文件Route: <?php use think\Route; //tp5路由测试 //动态注册 //Route::rule('路由表达式','路由地址','请求类型 ...
- ThinkPHP5.0框架开发--第4章 TP5.0路由
ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...
- ThinkPHP5——route(路由)的详解
路由在框架中的作用打个比方的话,路由好比是WEB应用的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你的U ...
- thinkPHP5.0.22初体验---路由,url访问
“豪情卷起万重浪,吼吼哈哈-”一学thinkPHP才知道这是个国内研究的php web开发框架,瞬间自豪感如电流一般传遍全身 这就不多不说说 一.控制器 所谓MVC编程,无外乎函数(sometimes ...
- thinkPHP5.0 URL路由优化
在tp中访问页面的时候URL地址是 域名/模块/控制器/方法,在点击首页的时候URL是 域名/index/index/index 而不是只显示域名,这样不利于SEO,而且强迫症的我看着很不爽,这个时候 ...
- Thinkphp5笔记九:路由设置,隐藏indx.php
网站根目录下.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on ...
随机推荐
- 《linux就该这么学》课堂笔记12 网卡配置、防火墙配置
1.网卡配置(四种方法,选其一即可,配置后须重启网络服务使其生效) 1)修改配置文件./etc/sysconfig/network-scripts/ifcfg-网卡名称 2)nmtui [RHEL7] ...
- Linux之ubuntu下载
(转载) ubuntu 16.04国内下载地址: 中科大源 http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/ 阿里云开源镜像站 http://mirr ...
- CentOS6.7安装部署Nginx(详解主配置文件)
keepalived + nginx :实现高可用 nginx: web服务器 反向代理,也支持缓存(缓存在磁盘上) 支持FastCGI tengine:淘宝官方在nginx原有的代码的基础上对n ...
- Cleaning Robot POJ - 2688
题目链接:https://vjudge.net/problem/POJ-2688 题意:在一个地面上,有一个扫地机器人,有一些障碍物,有一些脏的地砖,问,机器热能不能清扫所有的地砖, (机器人不能越过 ...
- python正则表达式(4)--search方法
1.re.search函数 re.search 扫描整个字符串并返回第一个成功的匹配,如果匹配失败search()就返回None. (1)函数语法: re.search(pattern, string ...
- JPA(java持久化API)的环境的搭建
因为我使用的是java工程 所以需要引入的依赖有: <properties> <project.build.sourceEncoding>UTF-8</project.b ...
- error: ‘Poco::UInt16’ has not been declared
碰到Poco库和其他第三方库共用的时候,当include-POCO库的头文件的时候,此时也include-其他库,导致这个报错. 原因是在这两个库中都对 UINT16 定义,导致冲突. 可以把这两个库 ...
- test20191210 钟子谦
100+40+0=140.暴力没写满-- 简单模拟 很久很久以前,有一个 \(1\sim n\) 的排列 \(a\),还有一个长度为 \(q\) 的,每个元素在 \(1\) 到 \(n\) 之间的序列 ...
- "<<"和“>>”运算
- Excel——读取——导出目录
/** * 导出Excel文件到具体的目录 * <一句话功能简述> * <功能详细描述> * @param fileName 导出的文件名 * @param sheetName ...