> 백엔드 개발 > PHP 튜토리얼 > 让Nginx支持ThinkPHP的URL重写跟PATHINFO

让Nginx支持ThinkPHP的URL重写跟PATHINFO

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-13 13:25:32
원래의
895명이 탐색했습니다.

让Nginx支持ThinkPHP的URL重写和PATHINFO

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

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

?

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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?原文链接

?

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿