進入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