1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > thinkphp URL规则 URL伪静态 URL路由 URL重写 URL生成(十五)

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

时间:2021-06-20 08:52:37

相关推荐

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

php教程|php手册

路由,静态,规则

php教程-php手册

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

易语言修改内存数值源码,vscode附加node,ubuntu支持吃鸡吗,内嵌tomcat性能,提高sqlite的读写,音乐播放器插件动漫,web前端框架技术概念,爬虫数据挖掘入门,php网站推荐,jin seo-yeon,网站模板源码资源,网页写html代码,360导购网站模板,js页面宽度自适应,小区物业管理系统毕业设计,vb程序 作为服务启动lzw

本章节:详细介绍thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成

彩票打印源码,vscode代码截图,卸载ubuntu怎么清除干净,tomcat 运行目录,win10 sqlite,wordpress菜单图标插件,常用的前端框架模板,JavaScript反爬虫技术,php java c,刷神马seo排名软件,下载一个java网站小说系统,ftp下载网页,进展销系统前台模板源码,鼠标控制页面大小,高校科研管理系统源码,破解微擎小程序数据库安装lzw

A、URL规则

1、默认是区分大小写的

2、如果我们不想区分大小写可以改配置文件

‘URL_CASE_INSENSITIVE’=>true,//url不区分大小写

*模块命名太长的情况:

A、如果模块名为 UserGroupAction,复杂模块(一般是IndexAction)

那么url找模块就必要要写成

http://localhost/thinkphp4/index.php/user_group/index

B、如果’URL_CASE_INSENSITIVE’=>false(区分大小写的情况可以访问)

那么url也可以写为

http://localhost/thinkphp4/index.php/UserGroup/index

优学堂课程管理系统源码,ubuntu双网卡叠加,爬虫算是盗取吗,php下级分类,达州seo公司lzw

B、URL伪静态(tp默认支持伪静态)

http://localhost/thinkphp4/index.php/UserGroup/index.xml

*默认pdo、html、xml…都是支持的,如果要限制加个配置就行

‘URL_HTML_SUFFIX’=>’html|shtml|xml’,//限制伪静态的后缀

C、URL路由

1、启动路由

要在配置文件中开启路由支持

‘URL_ROUTER_ON’ => true, //开启路由

2、使用路由

1.规则表达式配置路由

‘URL_ROUTER_ON’ => true, //开启路由

‘URL_ROUTE_RULES’ => array(

‘my’=>’Index/index’,//静态地址路由 访问:http://localhost/thinkphp/index.php/my

‘:id/:num’=>’Index/index’,/*后面的数字值随便写,字母也行

动态地址路由 访问:http://localhost/thinkphp/index.php/10/200

可以再模块控制器中用get方式传值 或 获取

echo $_GET[‘id’];

echo $_GET[‘num’];

*/

‘my/:num’=>’Index/index’, //动静混合地址路由 http://localhost/thinkphp/index.php/my/200

‘year/:year/:month/:date’=>’Index/index’,//动态和静态混合地址路由: http://localhost/thinkphp/index.php/year//12/21

‘year/:year\d/:month\d/:date\d’=>’Index/index’,//动态和静态混合地址路由 –加上 \d代表类型只能是数字

‘my/:id$’=>’Index/index’,// 加上$说明地址中只能是 my/1000 后面不能有其他内容了

);

2.正则表达式配置路由

//http://localhost/thinkphp/index.php/year//12/21

‘/^year\/(\d{4})\/(\d{2})\/(\d{2})/’=>’Index/index?year=:1&month=:2&date=:3’

3、注意事项:

1.越复杂的路由越往前面放

‘URL_ROUTE_RULES’=>array(

‘my/:year/:month:/:day’=>’Index/day’, *复杂的路由放在前面,放后面就不会执行

‘my/:id\d’=>’Index/index’,

‘my/:name’=>’Index/index’,

)

2.可以使用$作为完全匹配的路由规则(不管复杂否,都会匹配所有正则)

‘URL_ROUTE_RULES’=>array(

‘my/:id\d$’=>’Index/index’,

‘my/:name$’=>’Index/index’,

‘my/:year/:month:/:day$’=>’Index/day’,

),

3.用正则匹配的方式

‘URL_ROUTE_RULES’=>array(

‘/^my\/(\d+)$/’=>’Index/index?id=:1’,

‘/^my\/(\w+)$/’=>’Index/index?name=:1’,

‘/^my\/(\d{4})\/(\d{2})\/(\d{2})$/’=>’Index/day?year=:1&month=:2&day=:3’,

),

D、URL重写

比如:http://localhost/thinkphp/index.php/Index/index.html/t/my —- 不想让index.php出现

下面是Apache的配置过程,可以参考下:

1、httpd.conf配置文件中加载了mod_rewrite.so模块

2、AllowOverride None 将None改为 All

3、确保URL_MODEL设置为2 (该步骤省略)

4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

重启Apache之后,原来的

就可以通过访问

http://localhost/thinkphp/Index/index.html/t/my –简化了URL地址,对SEO的支持度好点

E、URL生成(手册有详细介绍)

public function url(){

echo U(‘Index/add’); // 生成Index模块的add操作的URL地址

///thinkphp/index.php/index/add

}

上一篇/index.php?m=content&c=content&a=public_preview&steps=1&catid=75&id=363637

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。