例如你的原路徑是 http://localhost/test/index.php/home/goods/index.html 那麼現在的地址是 http://localhost/test/home/goods/index.html 如何去掉index.php呢?
1.httpd.conf配置文件中加載了mod_rewrite.so模塊 //在APACHE裡面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警號去掉
2.AllowOverride None 講None改為 All //在APACHE裡面去配置 (注意其他地方的AllowOverride也統統設置為ALL) <Directory "D:/server/apache/cgi-bin"> AllowOverride none 改 AllowOverride ALL Options None Order allow,deny Allow from all </Directory>
3.確保 config.php 裡面配置項 URL_MODEL 設置為 2 return Array( 'URL_MODEL' => '2', );
4 .htaccess文件必須放到項目跟目錄下 這個文件裡面加: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
項目下面建個.htaccess文件,.htaccess就是文件名,前面有個小點,內容為
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
.htaccess文件代碼
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Redirect permanent /index.php /
order deny,allow
或參考ThinkPHP3.0完全開發手冊 16.2 隱藏index.php