进入Nginx目录,打开nginx.conf
比如我访问thinkphp的url是(tp5是我在nginx/html/下面新建的目录,称之为下面的二级目录):https://192.168.139.128/tp5/index.php?s=index/index/index
现在不支持pathinfo模式
1、让Nginx支持pathinfo模式,即可访问url:https://192.168.139.128/tp5/index.php/index/index/index
将
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
i
nclude fastcgi_params;
}
修改成
location ~ \.php($|/) {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
2、紧接着隐藏掉index.php
添加的这段代码是让url中不需要输入index.php:https://192.168.139.128/tp5/index/index/index
location / {
root html;
index index.php index.html index.htm;
if (!-e $request_filename) {
###一级目录下
#rewrite ^/(.*)$ /index.php/$1 last;
###域名下的二级目录
rewrite ^/tp5/(.*)$ /tp5/index.php/$1 last;
}
}
3、重启Nginx