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模式進行訪問了。
---轉發並完善