>  Q&A  >  본문

nginx는 pathinfo 모드를 켜고 index.php의 인덱스는 실행 후 필터링됩니다.

원클릭 lnmp를 사용하여 서버를 설치했습니다. pathinfo 모드를 켠 후 헤더를 사용하여 점프할 때 인덱스가 필터링되는 것을 발견했습니다.

TP 시스템이 사용됩니다.

예를 들어 `http://xx.com/index.php/a/b`는 `http://xx com이 됩니다. /.php/a/b`, 주소창 입력에는 문제가 없습니다


구성 파일

1, site conf


```

server

{

80 듣기

          #listen [::]:80;

                                                사용하여                  ’ s ’ ’ through through off ‐ ‐ ‐ ‐‐ 및 ​

                  include none.conf;               #error_page 404 /404.html;                   s|images)/ .*.php$ { 모두 거부 }         #include 활성화-php.conf| jpg|jpeg|png|bmp|swf)$

                    ~ ~                        


위치 ~ /.잘 알려진 {

} 모두 허용;

}

위치 ~ /.

{

                                                                모두 거부를 통해 .log;

}


`` `


2, 활성화-php-pathinfo.conf

```

location ~ [^/].php(/|$)

{C FastCGI_PASS Unix: /TMP/php-cgi.Sock ;


FastCgi_index Index.php;

Fastcgi.conf 포함 , fastcig.conf

```


fastcgi_param cgi_script_name;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

fastcgi_param  CONTENT_LENGTH     $content_length;


fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_ param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_URI       $document_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_ 프로토콜 ;

fastcgi_param  REQUEST_SCHEME     $scheme;

fastcgi_param  HTTPS              $https if_not_empty;


fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;


fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;


# PHP만 해당, PHP가 --enable-force-cgi-redirect

로 빌드된 경우 필수 fastcgi_param REDIRECT_STATUS    200;

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";


```


4、pathinfo.conf


```

fastcgi_split_path_info ^(.+?.php)(/.*)$;

set $path_info $fastcgi_path_info;

fastcgi_param PATH_INFO       $path_info;

try_files $fastcgi_script_name =404;

```


phpcn_u21629phpcn_u216292627일 전1434

모든 응답(1)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-09-01 09:25:56

    index index.html index.htm index.php default.html default.htm default.php;

    이전 색인을 삭제합니다

    회신하다
    0
  • Time丶Out

    형님, 색인의 아름다움입니다. 제거하면 오류가 발생합니다.

    Time丶Out · 2017-09-07 04:49:23
    ringa_lee

    내가 말하는 것은 첫 번째 색인이 필요하지 않습니다. 그냥 삭제하고 끝에 접미사를 붙이면 됩니다.

    ringa_lee · 2017-09-07 09:33:43
  • 취소회신하다