thinkphp3.2 隐藏index.php的方法:
首先在config.php中配置:
'URL_MODEL'=>2,//REWRITE模式(PATHINFO模式基础上隐藏index.php)
'URL_CASE_INSENSITIVE' => true,//URL地址不区分大小写
'URL_ROUTER_ON' =>true,//启用路由功能
一、apache配置方法:
1.在httpd.conf中配置:
LoadModule rewrite_module modules/mod_rewrite.so //取消前面的#号开启rewrite
2.在.htaccess中配置
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
二、nginx配置(加入红色部分重启nginx即可):
server {
listen 80 default_server;
server_name localhost;
location / {
index index.php index.html index.htm;
root /data/www;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .+\.php($|/) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
root /data/www;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
include fastcgi.conf;
}
}
nginx方面网上还有一个方法就是红色部分替换为以下:
try_files $uri $uri/ /index.php?s=$uri&$args;