最近在用thinkphp做一個(gè)項(xiàng)目,基本完成后部署到nginx服務(wù)器上才發(fā)覺nginx是不支持pathinfo的,網(wǎng)上搜索了別人的解決方法,有兩種思路:
1、修改thinkphp讓他可以在nginx上運(yùn)行
2、修改nginx讓它支持pathinfo
網(wǎng)上說(shuō)nginx開啟pathinfo是有一定風(fēng)險(xiǎn)的,能不用pathinfo最好不用,所以還是折騰thinkphp吧,個(gè)人覺得這種方法相對(duì)第2種方法來(lái)得簡(jiǎn)單
修改nginx的rewrite
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
然后項(xiàng)目配置下url模式改為2
'url_model'=>2,
如果是多個(gè)項(xiàng)目,布署項(xiàng)目時(shí)要把項(xiàng)目布署到目錄里,如后臺(tái)的項(xiàng)目放到admin目錄里,那么在nginx的rewrite里再寫一條
location /admin/ {
if (!-e $request_filename) {
rewrite ^/admin/(.*)$ /admin/index.php?s=$1 last;
break;
}
}
最后也不要忘記把這個(gè)項(xiàng)目的url模式改為2。