nginx+thinkphpでpathinfoモードをサポートしない解決
1686 ワード
nginx環境問題は2日間やって、ネット上の多くの人の投稿がコピーして貼るか、貼っていないか、自分で「ははは、私は自分で解決した」などと書いていることに気づいて、私はこれらの投稿した同胞を軽蔑して、あなたはあなたが質問したと言って、問題が解決しても説明しません.まだ検索の前のページで、答えが必要な人の気持ちを考えたことがないと思います.喜んで答えを見てみると、貼り付けていないことに気づいた.はい、あまり言わないで、本題に入ります.
私のやり方ではURLをModelをrewrite/互換に変更するには、次の手順に従います.
約43行目は、以下のように自分のcodeに合わせて修正します.詳細な記号に注意してください.
phpの構成ではlocation~.php$をlocation~.phpは、再び強調して、細部に注意して、ここで$記号を消して、私が最初からこの原因でずっと解決できませんでした.
まだ解決していない場合はThinkPHPエントリファイルindex.phpにコンフィギュレーションdefine('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);
その間、500404の問題に遭遇するかもしれませんが、覚えておいて、細心の注意を払えばいいです.私のこの変更に従えば、ほとんど問題ありません.また質問があれば、伝言相談を歓迎します.
以上が本文のすべてですが、お好きになってください.
私のやり方では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']);
その間、500404の問題に遭遇するかもしれませんが、覚えておいて、細心の注意を払えばいいです.私のこの変更に従えば、ほとんど問題ありません.また質問があれば、伝言相談を歓迎します.
以上が本文のすべてですが、お好きになってください.