1.? 在apache 的 httpd.conf? 中? 更改

   LoadModule rewrite_module modules/mod_rewrite.so 放开注释

  再

  ? apache的AllowOverride以及Options使用详解

  通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置

  ?

  AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.?

  通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。从安全性考虑,根目录的AllowOverride属性一般都配置成不允许任何Override ,即?

  复制代码代码如下:

   ?

  AllowOverride None?

  ?

  在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。?

  而对于 URL rewrite 来说,至少需要把目录设置为?

  复制代码代码如下:

  < Directory /myblogroot/>?

  AllowOverride FileInfo?

  < /Directory>?

  2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All?

  复制代码代码如下:

  Alias /php "c:/web/php/"?

   ?

  Options Indexes FollowSymLinks?

  AllowOverride All?

  Order allow,deny?

  Allow from all?

  ?

  这样通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite

  1? AuthConfig? 允许使用所有的权限指令,他们包括AuthDBMGroupFile AuthDBMUserFile? AuthGroupFile? AuthName AuthTypeAuthUserFile和Require

  2? FileInfo? 允许使用文件控制类型的指令。它们包括AddEncoding AddLanguage? AddType? DEfaultType ErrorDocument LanguagePriority

  3? Indexes 允许使用目录控制类型的指令。它们包括AddDescription? AddIcon? AddIconByEncoding AddIconByType? DefaultIcon? DirectoryIndex? FancyIndexing? HeaderName? IndexIgnore? IndexOptions ReadmeName

  4? Limit 允许使用权限控制指令。它们包括Allow Deny和Order

  5? Options 允许使用控制目录特征的指令.他们包括Options 和XBitHack

  Options

  1? All 准许以下除MultiViews以外所有功能

  2? MultiViews? 允许多重内容被浏览,如果你的目录下有一个叫做foo.txt的文件,那么你可以通过/foo来访问到它,这对于一个多语言内容的站点比较有用

  3? Indexes 若该目录下无index文件,则准许显示该目录下的文件以供选择

  4? IncludesNOEXEC? 准许SSI,但不可使用#exec和#include功能

  5? Includes? 准许SSI

  6? FollowSymLinks? 在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在 ;标记内设置,该选项会被忽略

  7? SymLinksIfOwnerMatch? 在该目录中仅仅跟踪本站点内的链接

  8? ExecCGI 在该目录下准许使用CGI

  2.? request ? -->

  $request->param(); ?会将 get ?和 post 请求参数合并,一起获取到,注意使用提取自己需要使用的参数

  tp5.0用$rquest->param()获取传递过来的参数,如果参数有重复的情况会覆盖,覆盖的规则如下:pathinfo参数会覆盖post中的参数,post中的参数会覆盖get中的参数

  3. input 助手函数的理解

  ? 例如 ? input('post.') ? ?相当于 ?$request->post();

  ? ? ? ? ? ? input('get.') ? ?相当于 ?$request->get();

  ? ? ? ? ? ?input('id') ? 相当于?$request->param(‘id’);

  此时就要注意,param会合并get和post ?,若请求中

  get ?: id=11 ? 。。。 post ?: id=122 ? 。。。?则 ?input('id' ) 得到122

  ?

  ?4. 在phpstrom中 敲完doc后按Tab键 快速HTML模板

  ?

  5 tp5 的 view

  ?

  ?6. fetch()

  1. $this->fetch();

  1) 建立模板文件

   -- 建立模板文件 D: p5\application\index\view est_fetch.html

  2) 建立渲染测试控制器文件

   -- 建立模板测试文件D: p5\application\index\controller\Viewtest.php

  ? 输出如下内容:

  namespace app\index\controller;

  use think\Controller;

  class Viewtest extends Controller

  {

  ? public function test_fetch(){

  ? ? return $this -> fetch();

  ? }

  }

  ? 发现跳到 方法名的 同名模板

  此时fetch() 跳转到 view est_fetch.html,