首頁 > 後端開發 > php教程 > 让Nginx支持ThinkPHP的URL重写跟PATHINFO

让Nginx支持ThinkPHP的URL重写跟PATHINFO

WBOY
發布: 2016-06-13 10:31:20
原創
961 人瀏覽過

让Nginx支持ThinkPHP的URL重写和PATHINFO

实现让ThinkPHP在nginx上正确运行。

只需在配置文件中添加以下信息,就能让nginx正确解析ThinkPHP的网站。

?

?

    location /project/    {      index  index.php;      if (!-e $request_filename)      {        rewrite  ^/project/(.*)$  /project/index.php/$1  last;        break;      }    }      location ~ .+\.php($|/)    {      set $script    $uri;      set $path_info  "/";      if ($uri ~ "^(.+\.php)(/.+)")      {        set $script     $1;        set $path_info  $2;      }        fastcgi_pass 127.0.0.1:9000;      include fastcgi.conf;      fastcgi_index  index.php?IF_REWRITE=1;      fastcgi_param PATH_INFO $path_info;      fastcgi_param SCRIPT_FILENAME  $document_root/$script;      fastcgi_param SCRIPT_NAME $script;    }
登入後複製

这里先把project下的请求都转发到index.php来处理,亦即ThinkPHP的单一入口文件;然后把对php文件的请求交给fastcgi来处理,并且添加对PATH_INFO的支持。

重启Nginx以后,http://localhost/project/Index/insert, http://localhost/project/index.php/Index/delete 这样的URL都可以正确访问了。

还有一个地方需要注意的是,Nginx配置文件里 if 和后面的括号之间要有一个空格,不然会报unknown directive错误。

?

作者:?潺莪?发表于 2011-08-08 10:48?原文链接

?

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板