thinkphp_3.2.3实现 Rewrite 模式的配置方法

Rewrite模式示例:
http://localhost/think/Home/Index/index

实现步骤:

1、启用mod_rewrite模块

打开Apache名为“httpd.conf”的配置文件,#LoadModule rewrite_module modules/mod_rewrite. so这行代码,将#注释符删除,使得Apache在启动时就加载mod_rewrite模块。

mod_rewrite是Apache的一个模块。
此模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。
此模块可以操作URL的所有部分(包括路径信息部分),在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效,还可以生成最终请求字符串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向,甚至还可以是内部代理处理。
一般mod_rewrite默认是不启动的,这时我们需要手动启用它。

2、设置Apache

找到以下代码段:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

将其中的:AllowOverride None 改为 AllowOverride All ,重启httpd服务即可。

3、添加thinkphp的配置

<?php return array( //'配置项'=>'配置值' 'URL_MODEL' => 2 );

4、在入口文件index.php同级目录添加.htaccess文件,内容如下:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

这个文件thinkphp_3.2.3自带的就有。

ok~到此结束配置,Rewrite模式已经开启了…

你可能感兴趣的:(rewrite)