ThinkPHP3.2.2中开启REWRITE模式

一、php

在项目配置文件(\Application\Common\Conf\config.php)中配置URL模式服务器

1 <?php
2 return array(
3     //URL模式
4     'URL_MODEL' => 2,
5   'URL_ROUTER_ON'   =>  true,//默认fllse,   // 是否开启URL路由
6 );

添加.htaccess文件  内容以下:分布式


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

 要是想隐藏admin.php后台入口的, 要加上下面这几行spa

RewriteRule admin$ ./admin.php [NC,L]
RewriteRule admin/$ ./admin.php [NC,L]
RewriteRule admin/(.*)$ admin.php/$1 [NC,QSA,PT,L].net

 最后变成code

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

                       RewriteRule admin$ ./admin.php [NC,L]
                      RewriteRule admin/$ ./admin.php [NC,L]
                      RewriteRule admin/(.*)$ admin.php/$1 [NC,QSA,PT,L]
</IfModule>路由

二、get

在ThinkPHP的URL模式中,REWRITE模式去掉了URL地址中的入口文件index.php,可是须要额外配置Web服务器的重写规则才能正确访问。

Apache服务器能够经过开启rewrite模块和分布式配置文件(.htaccess)的支持以实现ThinkPHP中的REWRITE模式。具体步骤以下:

  1.打开Apache配置文件(httpd.conf),将加载rewrite模块的指令取消注释:

1 LoadModule rewrite_module modules/mod_rewrite.so

      2.修改目录权限,启用分布式配置文件:

1 <Directory />
2     Options FollowSymLinks
3     AllowOverride All
4     Order deny,allow
5     Allow from all
6 </Directory>

       在上面代码中 AllowOverride All 表示启用分布式配置文件。

    ThinkPHP中自带的 .htaccess 文件中已经写好了URL重写规则,经过上述配置后,就可使用REWRITE模式进行访问了。

 

---转发并完善

相关文章
相关标签/搜索