ThinkPHP框架中简化URL地址
来源:互联网 发布:java程序调用存储过程 编辑:程序博客网 时间:2024/05/29 07:34
1. 概述
- 在项目中使用ThinkPHP框架,发现使用该框架还能简化URL地址,如:
http: //localhost/index.php/Home/Index/search
可以转换为:
http: //localhost/search
2.操作环境
- 操作系统:Ubuntu 14.04.3 LTS
- 框架:ThinkPHP 3.2.3
- Web服务器:Apache2.4.10
3.步骤
3.1 URL模式设置
- 需要在ThinkPHP中的应用配置文件中设置(默认为1):“URL_MODEL”=>2
将ThinkPHP设置为REWRITE模式
3.2 重写规则的定义
- 在Apache下面的话,在入口文件index.php同目录下,建立.htaccess文件,添加如下内容:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L] </IfModule>
3.3 绑定模块与控制器
- http: //localhost/index.php/Home/Index/search中:
- index.php:入口文件
- Home:模块
- Index:控制器
- search:方法
- 因此需要将Home模块、Index控制器与index.php入口文件绑定,从而进入index.php文件则默认进入/Home/Index中。绑定代码如下:
index.php<?php //绑定Home模块 define('BIND_MODULE','Home'); //绑定Index控制器 define('BIND_CONTROLLER','Index');
- 实现效果为 http: //localhost/index.php/search
3.4 配置Apache2
- 需要设置Apache2支持 .htaccess文件,首先使Apache2支持 mod_rewrite.so模块
终端运行:sudo a2enmod 输入:rewrite
- 修改/etc/apache2/apache2.conf
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All //修改这一行 Require all granted </Directory>
- 重启Apache2,即可支持ThinkPHP中的REWRITE模式
- 实现效果为 http: //localhost/search,大功告成!
4.补充说明
- 简化URL地址后,其原理是/Home/Index/search方法被绑定到入口文件index.php中。此时search方法中所处的目录为index.php的所在目录,而不是其物理目录“/Home/Controller/”中,所以之后在search方法中需要指定路径时,“./”路径代表的是与index.php所处的同一路径,而不是“/Home/Controller/”。
参考资料
http://document.thinkphp.cn/manual_3_2.html#url
http://my.oschina.net/DDDdragon/blog/293873
0 0
- ThinkPHP框架中简化URL地址
- thinkphp路由重定义简化url访问地址
- apache ➕ ThinkPHP 简化访问地址
- Yii 框架 URL路径简化
- ThinkPHP--url地址大小写问题
- thinkPHP地址URL跳转问题
- thinkphp中URL操作
- ThinkPHP框架开发手册地址
- apache url重写的问题 简化url地址
- Thinkphp简化地址 重定向 隐藏入口文件
- TP5框架URL重写,简化url(隐藏入口文件)
- thinkphp框架中,URL传参c/123,接收不到参数的问题
- PHP中MVC框架ThinkPHP
- ThinkPHP框架中使用selected
- thinkphp的url地址隐藏入口文件方
- thinkphp-url地址影藏入口文件index.php
- ThinkPHP-URL中去掉index.php
- thinkphp中URL带参数跳转
- Tomcat源码阅读之过滤器
- Hadoop中新老版本MapReduce 中API对比
- Dialog的2种常用样式
- 【Linux系统编程】进程同步与互斥:POSIX有名信号量
- java之简单工厂设计模式
- ThinkPHP框架中简化URL地址
- 队列的优先级处理的思路
- 正则表达式-网页爬虫-从服务器或本地文件获取邮件地址
- Android实战之驱家新闻app(六)完
- Android4.4后短信机制的变化
- java 异常(Exception)处理机制
- Think Python第一章:程序之道
- quartz配置文件
- Android-判断某个网络是否在网络列表中