ThinkPHP5 学习笔记

1、application/.htaccess 文件配置 - 为什么模块不存在,还可以访问的到

                               #如果mod_rewrite.c模块存在,则执行以下命令

  Options  +FollowSymlinks -Multiviews         

  RewriteEngine On                                          #开启 RewriteEngine


  RewriteCond  %{REQUEST_FILENAME}   !-d  #不是目录或者目录不存在

  RewriteCond  %{REQUEST_FILENAME}   !-f   #不是文件或者文件不存在

 

  RewriteRule  ^(.*)$  index.php/$1  [QSA,PT,L]  #转交给index.php处理 [L]这是最后一个匹配项,不再往下匹配


注:写完是失效


2、默认是访问 http://www.bj.com/index/index/index 即Index模块下面 index控制器下的 index方法


3、 'url_convert'   => true,    // 是否自动转换URL中的控制器和操作名   网址中大小写的问题 驼峰转化的问题


4、'pathinfo_depr'          => '/',     // pathinfo分隔符 。如果将分隔符设置为 '-' ,则形如  www.abc.com/hello/aaa/cd-22-ef-33-gh-22.html

则有 name=>aaa  cd=>22  ef=>33 gh=>22 这几个变量


5、路由设置 在 application/router.php中进行设置,可以缩短网址,功能比以前版本更加强大。例如

'hello/[:name]' => ['index/index/hello',['method' => 'get','ext' => 'html'] ],

可以将 index/index/hello/zhangsan.html  转化为 hello/zhangshan.html  访问。其中  hello/[:name] 方括号表示里面的参数可有可无,即 hello.html 也可以正常访问,不过这时候控制器中名为name的参数就赋值为空了。ext表示限定网址后缀。 如果 形式是 hello/:name,则,name参数就不可以省略了。


6、正则的方式设置路由,比如

'today/:year/:month' => ['index/index/today',[ 'method' => 'get' ],[ 'year' => '\d{4}', 'month' => '\d{2}'] ],

则 index/index/today/year/2007/month/09   可以转化为  today/2007/09

 





你可能感兴趣的:(PHP)