Nginx に ThinkPHP の URL 書き換えと PATHINFO をサポートさせます

WBOY
リリース: 2016-06-13 13:25:32
オリジナル
772 人が閲覧しました

让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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!