登录  /  注册

thinkPHP5.0框架URL访问的方法分享

黄舟
发布: 2017-03-20 09:07:09
原创
1578人浏览过

这篇文章主要介绍了thinkphp5.0框架url访问方法,具体分析了thinkphp5.0框架的url路径结构与常见访问方法,以及隐藏入口文件的实现技巧,需要的朋友可以参考下

本文实例讲述了thinkPHP5.0框架URL访问方法。分享给大家供大家参考,具体如下:

URL设计

ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是:

http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]

支持切换到命令行访问,如果切换到命令行模式下面的访问规则是:

>php.exe index.php(或者其它应用入口文件) 模块/控制器/操作/[参数名/参数值...]

可以看到,无论是URL访问还是命令行访问,都采用PATH_INFO访问地址,其中PATH_INFO的分隔符是可以设置的。

注意:5.0取消了URL模式的概念,并且普通模式的URL访问不再支持,如果不支持PATHINFO的服务器可以使用兼容模式访问如下:

http://serverName/index.php(或者其它应用入口文件)?s=/模块/控制器/操作/[参数名/参数值...]

必要的时候,我们可以通过某种方式,省略URL里面的模块和控制器。

URL大小写

默认情况下,URL是不区分大小写的,也就是说 URL里面的模块/控制器/操作名会自动转换为小写,控制器在最后调用的时候会转换为驼峰法处理。

例如:

http://localhost/index.php/Index/Blog/read
// 和下面的访问是等效的
http://localhost/index.php/index/blog/read
登录后复制

如果访问下面的地址

http://localhost/index.php/Index/BlogTest/read
// 和下面的访问是等效的
http://localhost/index.php/index/blogtest/read
登录后复制

在这种URL不区分大小写情况下,如果要访问驼峰法的控制器类,则需要使用:

http://localhost/index.php/Index/blog_test/read
登录后复制
登录后复制

如果希望URL访问严格区分大小写,可以在应用配置文件中设置:

// 关闭URL中控制器和操作名的自动转换
'url_convert'  => false,
登录后复制

一旦关闭自动转换,URL地址中的控制器名就变成大小写敏感了,例如前面的访问地址就要写成:

http://localhost/index.php/Index/BlogTest/read
登录后复制

但是下面的URL访问依然是有效的:

http://localhost/index.php/Index/blog_test/read
登录后复制
登录后复制

下面的URL访问则无效:

http://localhost/index.php/Index/blogtest/read
登录后复制

需要注意:路由规则中定义的路由地址是按照控制器名的实际名称定义(区分大小写)。

隐藏入口文件

在ThinkPHP5.0中,出于优化的URL访问原则,还支持通过URL重写隐藏入口文件,下面以Apache为例说明隐藏应用入口文件index.php的设置。

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

1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、在应用入口文件同级目录添加.htaccess文件
,内容如下:

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
登录后复制

以上就是thinkPHP5.0框架URL访问的方法分享的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号