修改thinkphp讓他可以在nginx上運行

字號:


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