ThinkPHP 网址格式URL地址怎么设置

作者&投稿:兆昆平 (若有异议请与网页底部的电邮联系)
ThinkPHP 网址格式URL地址怎么设置~呢?~

/ThinkPHP/conf/convention.php
/* URL设置 */
'URL_CASE_INSENSITIVE' => true, // 默认false 表示URL区分大小写 true则表示不区分大小写
'URL_MODEL' => 1, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式
'URL_PATHINFO_DEPR' => '/',// PATHINFO模式下,各参数之间的分割符号
'URL_REQUEST_URI' => 'REQUEST_URI', // 获取当前页面地址的系统变量 默认为REQUEST_URI
'URL_HTML_SUFFIX' => 'html', // URL伪静态后缀设置
'URL_DENY_SUFFIX' => 'ico|png|gif|jpg', // URL禁止访问的后缀设置
最好把这段复制到自己的application/commen/conf/config.php里修改。这样避免污染框架。

在配置文件中将URL_ROUTER_ON设置为TRUE,然后为配置文件中的URL_ROUTE_RULES添加一个路由规则'index/demo' => 'demo'

thinkPHP的URL在config中配置

一、URL规则

1、默认是区分大小写的

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

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

3、如果模块名为 UserGroupAction,那么url找模块就必要要写成

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

4、如果'URL_CASE_INSENSITIVE'=>false,那么url也可以写为

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

二、URL伪静态

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

三、URL路由

1、启动路由
要在配置文件中开启路由支持
'URL_ROUTER_ON'=>ture//开启路由

2、使用路由

1.规则表达式配置路由

'URL_ROUTE_RULES'=>array()//路由规则  
    'my'=>'Index/index',//静态地址路由  
    'my'=>'/Index/index',//静态地址路由,加/直接跳到网站根目录下。  
    ':id/:num'=>'Index/index',//动态地址路由,可以$_GET接收地址栏参数  
    'year/:year/:month/:date'=>'Index/index',//动态和静态混合地址路由  
    'year/:year\d/:month\d/:date\d'=>'Index/index',//动态和静态混合地址路由加上 \d代表类型只能是数字  
    'my/:id$'=>'Index/index',// 加上$说明地址中只能是 my/1000 后面不能有其他内容了

2.正则表达式配置路由,必须以/开始   /结束

'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'//这里\d表示必须是数字


看手册默认就是一个index.php的路由模式啊,图片可能看不清

一、普通模式

关闭路由,完全使用默认的PATH_INFO方式URL:

'url_route_on'  =>  false,

路由关闭后,不会解析任何路由规则,采用默认的PATH_INFO 模式访问URL:

http://serverName/index.php/module/controller/action/param/value/...



配置项当中有个URL_MODEL,有三个值0,1,2。 0普通模式可也在IIS上运行,1pathinfo模式如http://localhost/index.php/index/index
2是rewrite模式需要配置可去掉index.php后缀

默认第二种啊,你的url为什么有两个index.php