Nginx下使Thinkphp URL模式支持PATHINFO和REWRITE

xiaoxiao2021-02-28  114

轉:http://blog.csdn.net/codercwm/article/details/52786712

1.支持PATHINFO

找到location ~ \.php { ,把$去掉,并在里面加上这两句 fastcgi_split_path_info ^(.+\.php)(.*)$; #增加 fastcgi_param PATH_INFO $fastcgi_path_info; #增加 1234 1234

location ~ \.php { #去掉$ root html fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(.*)$; #添加 fastcgi_param PATH_INFO $fastcgi_path_info; #添加 } 123456789 123456789

2.支持REWRITE去掉index.PHP

找到location / { 在里面加上 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?s=$1 last; break; } 123456 123456

location / { root html index index.html index.htm index.php; if (!-e $request_filename) { #添加 rewrite ^/(.*)$ /index.php?s=$1 last; #添加 break; #添加 } #添加 } 123456789 123456789

如果thinkphp不是部署在网站根目录下,即需要把

rewrite ^/(.*)$ /index.php?s=$1 last; 改成 rewrite ^/子目录/(.*)$ /子目录/index.php?s=$1 last; 123 123

如果根目录下有多个项目的话,可以写多个rewrite:

if (!-e $request_filename) { rewrite ^/项目1/(.*)$ /项目1/index.php?s=$1 last; rewrite ^/项目2/(.*)$ /项目2/index.php?s=$1 last; rewrite ^/项目3/(.*)$ /项目3/index.php?s=$1 last; break; }
转载请注明原文地址: https://www.6miu.com/read-67491.html

最新回复(0)