Eyoucms程序开发:URL访问
URL设计
ThinkPHP5.0
在没有启用路由的情况下典型的URL访问规则是:
http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]
支持切换到命令行访问,如果切换到命令行模式下面的访问规则是:
>php.exe index.php(或者其它应用入口文件) 模块/控制器/操作/[参数名/参数值...]
可以看到,无论是URL访问还是命令行访问,都采用PATH_INFO
访问地址,其中PATH_INFO
的分隔符是可以设置的。
注意:5.0
取消了URL模式的概念,并且普通模式的URL访问不再支持,但参数可以支持普通方式传值,例如:
>php.exe index.php(或者其它应用入口文件) 模块/控制器/操作?参数名=参数值&...
如果不支持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
文件,内容如下:
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
更多其它环境的隐藏入口文件参考后面的 URL重写
相关文档
- 网站开启强制HTTPS后,弹窗提示请使用http模式访问
- 迅睿cms网站URL伪静态规则设置教程
- 外贸网站URL链接伪静态化处理及使用关键词SEO优化
- 迅睿CMS:后台登录故障{"code":1,...
- 当前栏目如何调用同级栏目?
- 当前栏目如何调用子栏目?
- 如何调取栏目英文名称
- 导航菜单判断是否有子栏目,有则显示否则隐藏(二级菜单调用)
- 易优channel栏目标签的附加功能使用教程
- EYOUCMS如何用channelartlist调用指定的栏目及...
- 获取当前文章页面栏目名称和栏目链接栏目图片的方法
- EYOUCMS 当前位置导航的修改方法
- 列表分页样式的修改
- 如何调用指定栏目名称和链接地址
- 在线留言单选框选择的判断问题
- 获取当前文档url地址的方法
- 文章内容页如何获取上一篇下一篇
- 在其它页面调用单页文章内容的方法
- EYOU 当前栏目页判断有无子栏目
- 如何对描述字符description限制字数
上一篇: Eyoucms程序开发:入口文件
下一篇: Eyoucms程序开发:模块设计