首頁 > 後端開發 > php教程 > 让nginx圆满支持Thinkphp的配置

让nginx圆满支持Thinkphp的配置

WBOY
發布: 2016-06-13 11:55:57
原創
1026 人瀏覽過

让nginx完美支持Thinkphp的配置

习惯了用apache后,当第一次用nginx时,把原来的项目(thinkphp框架)部署在新服务器上的时候,惊呆了!

所有的URL模式下都不能正常运行,甚至连css,js文件都不能正常加载。

原因是ngibx不支持pathinfo

主要是需要配置nginx

location / {            root   D:/wnmp/www;            index  index.html index.htm;			#访问路径的文件不存在则重写URL转交给ThinkPHP处理			if ( !-e $request_filename ) {			   rewrite  ^/(.*)$  /index.php/$1  last;			   break;			}        }
登入後複製
location ~ \.php/?.*$ {<span style="white-space:pre">			</span>root        D:/wnmp/www;<span style="white-space:pre">			</span>fastcgi_pass   127.0.0.1:9001;<span style="white-space:pre">			</span>fastcgi_index  index.php;<span style="white-space:pre">			</span>#加载Nginx默认"服务器环境变量"配置<span style="white-space:pre">			</span>include        fastcgi_params;<span style="white-space:pre">			</span>include<span style="white-space:pre">		</span>   fastcgi.conf;<span style="white-space:pre">			</span>#设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量<span style="white-space:pre">			</span>set $fastcgi_script_name2 $fastcgi_script_name;<span style="white-space:pre">			</span>if ( $fastcgi_script_name ~ "^(.+\.php)(/.+)$" ) {<span style="white-space:pre">				</span>set $fastcgi_script_name2 $1;<span style="white-space:pre">				</span>set $path_info $2;<span style="white-space:pre">			</span>}<span style="white-space:pre">			</span>fastcgi_param   PATH_INFO $path_info;<span style="white-space:pre">			</span>fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;<span style="white-space:pre">			</span>fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;<span style="white-space:pre">		</span>}
登入後複製


最后这部分是为了css和js 以及图片等资源

location ~* ^.+\.(jpg|jpeg|gif|png|bmp|css|js|swf)$ {			access_log off;			root D:/wnmp/www;			break;		}
登入後複製



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板