ThinkPHP3.2.2中開啟REWRITE模式


1、

在項目配置文件(\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>

 要是想隱藏admin.php后台入口的, 要加上下面這幾行

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

 最后變成

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

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

2、

在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模式進行訪問了。

 

---轉發並完善


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM