一.入口模块修改

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

<?php

// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/'); //定义配置文件目录
define('CONF_PATH',__DIR__.'/../conf/');
define('BIND_MODULE','admin');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

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

1.开启路由配置

// 是否开启路由
'url_route_on' => true,
// 是否强制使用路由
'url_route_must' => false,

2.在conf目录新建 route.php

<?php

return [
'new/:id' => 'admin/index/index',
];

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

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

4.route.php 路由规则

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

动态路由

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

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

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

apache2 配置文件在public .htaccess

 /* vim /etc/apache2/apache2.conf  */

<IfModule mod_rewrite.c>
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.html)$ [NC]
RewriteRule ^/?(.*)$ /$1.html [QSA,R=301,L] RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #//第二种方法
#RewriteEngine on
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

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

生产环境不用加index.php

以下可以不用设置

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

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

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

LoadModule rewrite_module modules/mod_rewrite.so

更改AllowOverride 配置

<Directory /var/www/tp5/public>
MultiViews
Options Indexes FollowSymLinks
AllowOverride FileInfo Options
#AllowOverride None Require all granted
</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. 含有对象的List集合实现字母数字混合排序

    List<PageData> varList = [{BOMCode=10A, mantotal=4}, {BOMCode=10B, mantotal=1}, {BOMCode=11A, ...

  2. django搭建一个小型的服务器运维网站

    前言   不管是运维还是开发抑或是测试,工作中不免会和Linux服务器打交道,常见的操作譬如:查看CPU或内存状态.查看和修改服务器时间.查看或者修改服务器配置文件.实时查看或回看系统的日志.重启服务 ...

  3. Spring_Boot 简单例子

    第一步创建项目: 创建项目地址:https://start.spring.io/ 接下来就下载到本地了 跟着加压 接着用idea打开:等待资源下载完成 我写了个简单的:增删改查 项目结构: dao层: ...

  4. Linux下查看分区内目录及文件占用空间容量

    转载linux下使用 du查看某个文件或目录占用磁盘空间的大小   du -ah --max-depth=1     这个是我想要的结果  a显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘 ...

  5. ORA-00972

    SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as 日期时间 from dual;select to_char(sysdate,'YY ...

  6. EDM营销应注意要定期发送邮件

    一个成熟的EDM营销方案应该要确定完整的邮件发送频率,并且严格按照计划执行.这点在EDM营销过程中非常重要,下面为大家分析一下. 一个EDM营销应该确定一下发送的时间,每月或者每周发送一次,这样用户能 ...

  7. UI自动化之特殊处理四(获取元素属性\爬取页面源码\常用断言)

    获取元素属性\爬取页面源码\常用断言,最终目的都是为了验证我们实际结果是否等于预期结果 目录 1.获取元素属性 2.爬取页面源码 3.常用断言 1.获取元素属性 获取title:driver.titl ...

  8. mybatis 如何关闭connection

    1.前言 最开始操作数据库是使用jdbc操作数据库,每次创建一个连接都需要关闭连接,避免占用资源.比如 Class.forName("com.jdbc.mysql.Driver") ...

  9. SQL复制远程数据库数据到本地-及查询结果少显示一列

    网上找了查询结果怎么少显示一列,因为数据很多列,结果不是视图就是嵌套,太麻烦,这里用临时表做 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB', '19 ...

  10. C语言 malloc()、memcpy()、free()等

    1.malloc()函数:  void *malloc(unsigned int num_bytes); 头文件:#include <malloc.h> 或 #include <al ...