1. 程式人生 > >ThinkPHP在Apache和Nginx下去除index.php方法

ThinkPHP在Apache和Nginx下去除index.php方法

numbers crawler jpg class www. 代碼 write root 由於

由於項目需要,用ThinkPHP開發的程序鏈接要去除index.php下面說下如何解決。
一.Nginx方法

由於nginx不支持PATH_INFO,所以需要進入linux終端找到nginx 的配置文件nginx.conf添加如下代碼:

1
2
3
4
5
6
location /
{ if (!-e $request_filename)
{
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

使用如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server
{ listen 80;
server_name www.blhere.com; index index.html index.htm index.php;
root /data/htdocs/wwwroot/www; #limit_conn crawler 20; location /
{ if (!-e $request_filename)
{
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

location ~ .*\.(php|php5)?$
{ #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 1h;
}
}

二.Apache方法
網站的根目錄下建立文件.htaccess,然後添加如下代碼

1
2
3
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

ThinkPHP在Apache和Nginx下去除index.php方法