nginx支持thinkphp的pathinfo解决方法

WBOY
發布: 2016-06-13 12:08:44
原創
1022 人瀏覽過

nginx支持thinkphp的pathinfo
现在发现问题有两个:
1 不支持PATHINFO。
         localhost/?m=login可以访问,localhost/login不能访问。
2 THINKPHP的U方法生成的地址错误。
         U('login/index')生成的地址是/login-index.html。

nginx配置文件:
location ~ \.php$ {
            root           D:/AppServ/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

            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_NAME $real_script_name;
            fastcgi_param  PATH_INFO $path_info; 

            include        fastcgi_params;
        }

.htacess:

RewriteEngine on
RewriteRule ^(.*)$ index.php/$1 last


nginx错误日志:
         2014/10/27 13:54:42 [error] 5404#5668: *107 CreateFile() "D:/AppServ/www/login" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /login HTTP/1.1", host: "localhost"

------解决思路----------------------

server {<br />       listen  80;<br />       server_name     www.phpno.com;<br />       root /home/www/www_phpno_com/admin_wwwroot;<br />       access_log off;<br />       error_page 404  /404.html;<br />       location /404.html {<br />               root /home/www/www_phpno_com/admin_wwwroot;<br />       }<br />       location /{<br />               index index.html index.htm index.php;<br />               if (-e $request_filename) {<br />                       break;<br />               }<br />               if (!-e $request_filename) {<br />                       rewrite ^/(.*)$ /index.php/$1 last;<br />                       break;<br />               }<br />       }<br /> <br />       location ~ .+\.php($<br><font color='#FF8000'>------解决思路----------------------</font><br>/) {<br />           root           /home/www/www_phpno_com/admin_wwwroot;<br />           fastcgi_index index.php;<br />           fastcgi_split_path_info ^(.+\.php)(.*)$;<br />           fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;<br />           fastcgi_param   PATH_INFO               $fastcgi_path_info;<br />           fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;<br />           fastcgi_pass   127.0.0.1:9000;<br />           include        fastcgi_params;<br />       }<br />   }
登入後複製
自己对比一下

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!