在做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---路由问题的更多相关文章

  1. thinkphp5路由心得

    路由的作用:1. 简化URL地址,方便大家记忆2. 有利于搜索引擎的优化,比如可以被百度的爬虫抓取到 优化URl1. 前后端分离修改入口文件,在public下新建admin.php文件,将下面的代码添 ...

  2. js和thinkphp5路由拼接一个实例

    $.ajax({ type:"get", dataType:"json", url:"/home/index/ajax_page_data/cate_ ...

  3. ThinkPHP5路由图解

  4. lnmp1.4 nginx配置thinkphp5

    vhost/xxx.conf配置图,重点是红色框框 研究了两三天 ,至此thinkphp5 路由,隐藏index.php全部解决 感谢网友的分享:http://blog.csdn.net/gaoxiu ...

  5. tp5--路由的使用方法(深入)

    懒得写注释,直接上代码 配置文件Route: <?php use think\Route; //tp5路由测试 //动态注册 //Route::rule('路由表达式','路由地址','请求类型 ...

  6. ThinkPHP5.0框架开发--第4章 TP5.0路由

    ThinkPHP5.0框架开发--第4章 TP5.0路由 第4章 TP5.0 路由 ================================================== 上次复习 1. ...

  7. ThinkPHP5——route(路由)的详解

    路由在框架中的作用打个比方的话,路由好比是WEB应用的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你的U ...

  8. thinkPHP5.0.22初体验---路由,url访问

    “豪情卷起万重浪,吼吼哈哈-”一学thinkPHP才知道这是个国内研究的php web开发框架,瞬间自豪感如电流一般传遍全身 这就不多不说说 一.控制器 所谓MVC编程,无外乎函数(sometimes ...

  9. thinkPHP5.0 URL路由优化

    在tp中访问页面的时候URL地址是 域名/模块/控制器/方法,在点击首页的时候URL是 域名/index/index/index 而不是只显示域名,这样不利于SEO,而且强迫症的我看着很不爽,这个时候 ...

  10. Thinkphp5笔记九:路由设置,隐藏indx.php

    网站根目录下.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on ...

随机推荐

  1. Linux下关于Qt无法调用fcitx的中文输入

    1 本机环境: deepin 15.11 Qt 5.11.3 fcitx 输入法 2 问题描述 Qt Creator 和使用 QT 编译的程序运行时均不能使用deepin系统自带的fcitx输入法,且 ...

  2. Beta冲刺第2次

    二.Scrum部分 1. 各成员情况 翟仕佶 学号:201731103226 今日进展 优化了文件IO 存在问题 无 明日安排 同小小组另两人协商功能改进 截图 曾中杰 学号:201731062517 ...

  3. 项目Beta冲刺--5/7

    项目Beta冲刺--5/7 作业要求 这个作业属于哪个课程 软件工程1916-W(福州大学) 这个作业要求在哪里 项目Beta冲刺 团队名称 基于云的胜利冲锋队 项目名称 云评:高校学生成绩综合评估及 ...

  4. 如何将页脚固定在页面底部,4中方法 转载自:W3CPLUS

    原博客地址:http://www.w3cplus.com/css/css-sticky-foot-at-bottom-of-the-page 作为一个Web的前端攻城师,在制作页面效果时肯定有碰到下面 ...

  5. windows命令查看端口占用情况

    打开cmd 查看端口占用情况:netstat -aon 查看PID对应的进程:tasklist /FI "PID eq 16948"

  6. Excel——读取——导出目录

    /** * 导出Excel文件到具体的目录 * <一句话功能简述> * <功能详细描述> * @param fileName 导出的文件名 * @param sheetName ...

  7. post Cache

    http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5 POST The POST method is used to request ...

  8. OpenCV 学习笔记(1-1)opecv3.41及其扩展库在VS2015下配置

    其他正常 opencv_aruco341.lib opencv_bgsegm341.lib opencv_bioinspired341.lib opencv_calib3d341.lib opencv ...

  9. Sam小结和模板

    Sam 的一些总结 注意在子串在某个节点的性质,其 father 上也会有相同的性质 1. 统计子串出现的次数 在 \(parent\) 树上做 \(dp\),对于每一个节点,初始化为 \(dp[i] ...

  10. MongoDB主从

    环境示例: 系统:Centos6.6x64 安装目录:/opt/ 主:172.16.15.101 从:172.16.15.102 1.下载安装: # wget https://fastdl.mongo ...