1. 首先在nginx.conf里加上几行代码
location ~ \.php$ {
root /var/www/website/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; # 这句1
fastcgi_param PATH_INFO $fastcgi_path_info; # 这句2
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; # 这句3
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 这句4
include fastcgi_params;
}
2. 然后在location / 下增加 这四行代码
注: 此段开启nginx的重写模块 访问时不需要添加 index.php
if (!-e $request_filename) { # 开启nginx的重写模块
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
3. 最终配置
server {
54 listen 80;
55 server_name tp.sunshihao.cn;
56 location ~ \.php$ {
57 root /var/www/website/public;
58 fastcgi_pass 127.0.0.1:9000;
59 fastcgi_index index.php;
60 fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句 让nginx 支持pathinfo
61 fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句
62 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
63 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; # 09-20+
64 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 09-20+
65 include fastcgi_params;
66 }
67 location / {
68 root /var/www/website/public;
69 if (!-e $request_filename) { # 开启nginx的重写模块
70 rewrite ^(.*)$ /index.php?s=/$1 last;
71 break;
72 }
73 index index.php index.html index.htm;
74 }
75
76 }
然后就直接访问 http://tp.sunshihao.cn/index/index/test (域名根据自己配置填写)