程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> nginx+thinkphp下解決不支持pathinfo模式

nginx+thinkphp下解決不支持pathinfo模式

編輯:PHP綜合

nginx環境問題弄了兩天,發現網上很多人的帖子要麼復制粘貼,要麼就是沒有結貼,還自己寫一句“哈哈,我自己解決了”之類的,這點我就鄙視這些發帖的同胞了,你說你問題問了,問題解決了也不給個解釋。還在搜索的前幾頁,想沒想過需要答案的人的感受呢。滿心歡喜的去看答案,發現沒有結貼。好吧,不多說,進入正題。

我這種方式是不需要將URL_Model改為rewrite/兼容的:

大約第43行,按照下面的對照自己的code進行修改,請注意細節的符號:

 location / {
      root  C:/Zend/workspaces; #//這是你自己項目的根目錄。
      index index.html index.htm index.php;
      
      if (!-e $request_filename) {
      rewrite ^/(.*)$ /index.php/$1 break;  
      break;
      }
      
    }

在php的配置中,將location ~ \.php$ 改為 location ~ \.php,再次強調,注意細節,這裡去掉了$符號,我剛開始也是因為這個原因一直沒能解決。

 location ~ \.php {
      root      C:/Zend/workspaces;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME C:/wnmp/php$fastcgi_script_name;
      include    fastcgi_params;
      set $path_info "";
      set $real_script_name $fastcgi_script_name;
      if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
      set $real_script_name $1;
      set $path_info $2;
      }
      fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
      fastcgi_param SCRIPT_NAME $real_script_name;
      fastcgi_param PATH_INFO $path_info; 
    }

如果仍未解決,在ThinkPHP入口文件index.php中加入配置define(‘_PHP_FILE_',$_SERVER['SCRIPT_NAME']);

期間大家可能會遇到500,404的問題,但記住一點,細心就行。只要按照我這個改,基本沒什麼問題。如果還有問題,歡迎留言咨詢。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved