一.入口模块修改

修改public下的index 加入 define('BIND_MODULE','admin'); 即可将入门模块绑定到admin模块

  1. <?php
  2.  
  3. // [ 应用入口文件 ]
  4.  
  5. // 定义应用目录
  6. define('APP_PATH', __DIR__ . '/../application/');
  7.  
  8. //定义配置文件目录
  9. define('CONF_PATH',__DIR__.'/../conf/');
  10. define('BIND_MODULE','admin');
  11. // 加载框架引导文件
  12. require __DIR__ . '/../thinkphp/start.php';

二.路由美化  在conf 目录创建route.php

1.开启路由配置

  1. // 是否开启路由
  2. 'url_route_on' => true,
  3. // 是否强制使用路由
  4. 'url_route_must' => false,

2.在conf目录新建 route.php

  1. <?php
  2.  
  3. return [
  4. 'new/:id' => 'admin/index/index',
  5. ];

3.助手函数 url()直接修改url

  1. public function index($id){
  2. echo url('admin/index/index',['id'=>11]).'<br />';
  3. return "index";
  4. }

4.route.php 路由规则

  1. 'news/' => 'admin/index/index', // 添加路由规则 路由到 index控制器的index操作方法
  1. http://localhost/index
  1. 'news/:id' => 'admin/index/index', //该路由规则表示所有index开头的并且带参数的访问都会路由到index控制器的index操作方法,且参数不能为空
  1. http://localhost/index?id=6&name=dd
  1. 'news/[:id]' => 'admin/index/index', // 路由参数name为可选
  1. http://localhost/index?id=7 或 http://localhost/index 均可
  1.  

动态路由

  1. /* 动态路由设置 */
  2. use \think\Route;
  3. /* 将Index控制器设置别名为斜杠 / */
  4. Route::alias('test','\app\index\controller\Test');
  5.  
  6. /* 设置路由规则 */
  7. Route::rule([
  8. 'news/:id' => 'index/test/index',
  9. 'blog/:id' => ['Blog/update',['ext'=>'html'],['id'=>'\d{4}']],],'','GET',['ext'=>'html'],['id'=>'\d+']);

静态路由 在conf目录route文件配置

  1. <?php
  2. return
  3. # ext 为url后缀
  4. ['news/:name' => 'index/test/test',['ext'=>'html']]
  5. ;

apache2 配置文件在public .htaccess

  1. /* vim /etc/apache2/apache2.conf */
  2.  
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine on
  5.  
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_URI} !(\.html)$ [NC]
  9. RewriteRule ^/?(.*)$ /$1.html [QSA,R=301,L]
  10.  
  11. RewriteCond %{REQUEST_FILENAME} !-d
  12. RewriteCond %{REQUEST_FILENAME} !-f
  13. RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  14.  
  15. #//第二种方法
  16. #RewriteEngine on
  17. #RewriteCond %{REQUEST_FILENAME} !-d
  18. #RewriteCond %{REQUEST_FILENAME} !-f
  19. #RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  20. </IfModule>

浏览器访问时 在phpstorm调试时要加index.php 例如下面的url要写成  https/localhost/index.php/news/6.html 不然无法访问。

生产环境不用加index.php

以下可以不用设置

1.修改apache2服务器的httpd.conf

  1. var/www# vim /usr/local/apache2/conf/httpd.conf

确认加载了 mod_rewrite.so 模块(将如下配置前的 # 号去掉):

  1. LoadModule rewrite_module modules/mod_rewrite.so

更改AllowOverride 配置

  1. <Directory /var/www/tp5/public>
  2. MultiViews
  3. Options Indexes FollowSymLinks
  4. AllowOverride FileInfo Options
  5. #AllowOverride None
  6.  
  7. Require all granted
  8. </Directory>

thinkphp url和路由的更多相关文章

  1. ThinkPHP - URL - 伪静态 - 路由 - 重写

    URL: 一.URL规则 1.默认是区分大小写,可以修改(配置文件)为不区分大小写. 2. //修改URL大小写问题 'URL_CASE_INSENSITIVE' =>true, 如果模块名为 ...

  2. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

  3. ThinkPHP URL 路由简介

    简单的说,URL 路由就是允许你在一定规则下定制你需要的 URL 样子,以达到美化 URL ,提高用户体验,也有益于搜索引擎收录的目的. 例子 原本的 URL 为: http://www.5idev. ...

  4. ThinkPHP的URL重写+路由+伪静态,实现SEO效果。

    1.URL重写,隐藏网址中的Index.php. ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP提供了各种机制来定制需要的 URL 格式 ...

  5. Thinkphp的自定义路由(route.php)

    废话:因为thinkphp的默认路由会导致URL特别长,从而会影响搜索引擎优化.所以就衍生了自定义路由,尽量将URL缩短. 这是默认的路由文件: <?php return [ '__patter ...

  6. thinkphp最简单路由

    thinkphp最简单路由 一.总结 1.路由应用场景(前台要,后台不要):前台所有人都可以看,所以前台的话设置路由,后台的话并不是所有人都进去,所以不需要设置路由 2.模块分离来实现路由场景应用:前 ...

  7. 自学PHP的第22天---ThinkPHP中的路由、ThinkPHP目录结构

    这一切的一切都得从“Hello world”说起!!! 有很多东西在thinkPHP的官方开发文档上其实都有讲到,我在这里只是想记录自己每天坚持学习PHP的情况,今天接触ThinkPHP的路由,路由这 ...

  8. 第2章 ASP.NET MVC(URL、路由及区域)

    * { font: 17px/1.5em "Microsoft YaHei" } ASPNET MVC URL.路由及区域 一.URL.路由及区域 一.      配置路由器 1. ...

  9. Django2.0中URL的路由机制

    路由是关联url及其处理函数关系的过程.Django的url路由配置在settings.py文件中ROOT_URLCONF变量指定全局路由文件名称. Django的路由都写在urls.py文件中的ur ...

随机推荐

  1. 数位dp好题整理+自己wa过的细节记录

    花(fa)神的数论题 三倍经验:烦人的数学作业 windy数 手机号码 同类分布(博客先鸽着) 板子固然好,细节无限多. 花式wa题法,警示后来人. 1.手残害人不浅 (蒟蒻的我掉坑里不止一次) 2. ...

  2. CSS - 层叠上下文(The stacking context)

    对 MDN 的上的例子的拓展 Root - DIV #1(z-index: 5) - DIV #2(z-index: 2) - DIV #3(z-index: 4) - DIV #4(z-index: ...

  3. Vue知识整理6:JavaScript表达式

    可在vue中运用js表达式,完成数据的运算(包括三元运算).比较等操作.

  4. nacos 使用 servlet 异步处理客户端配置长轮询

    config 客户端 ClientWorker#ClientWorker 构造方法中启动定时任务 ClientWorker.LongPollingRunnable 长轮询的任务,在 run 方法的结尾 ...

  5. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第4节 多态_15_多态的概述

    不是多种状态,而是有多种形态 继承是多态的前提 子类就是一个父类.学生就是一个人 多态性说的是这个对象.

  6. 一件很奇怪的事关于Nuget包

    两个项目 A,B 分别引用了Newtonsoft.Json.dll A项目有引用B项目. A B 项目引用Newtonsoft.Json.dll文件源路径是相同的.但是经常报版本不匹配. 之后经过细心 ...

  7. spring boot 将对象转换为json返回

    Spring Boot默认使用Jackson将对象转换为json,需要配置以下依赖: compile group: 'com.fasterxml.jackson.core', name: 'jacks ...

  8. C语言1-2019级秋季作业第一周作业

    1.你对软件工程专业或者计算机科学与技术专业了解是怎样? 软件工程专业是指对计算机的软件方面灵活掌控,开发软件的工程.软件工程其中会用到计算机科学.数学方面构建模型与算法:软件工程的目标就是开发出能够 ...

  9. linux下的dd命令使用详解

    一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. ...

  10. HDFS中NameNode发生故障没有备份从SecondNameNode恢复

    1.Secondary NameNode目录结构 Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照. 在/opt/module/hadoop ...