찾다

 >  Q&A  >  본문

nginx를 사용하는 초보자로서 전문가에게 몇 가지 질문이 있습니다.

전에 MOOC가 nginx를 사용하여 정적 리소스를 배포하는 것을 보았기 때문에 ngjinx를 사용하여 리소스를 배포해 보고 싶었습니다. 이제 다음 질문이 필요합니다.

  1. 예를 들어 MOOC의 다음 링크: http://www.imooc.com/course/list는 URL 뒤의 /course/list,我只能使用list.html,我想让每个连接都不会出现.html 접미사와 어떻게 일치합니까? 이것은 URL을 다시 쓰는 것입니까, 아니면 위치로 구성되어 있습니까?
2.


위는 역방향 프록시에 사용되는 위치 구성입니다.

와 같은 것과 일치하면 안 되지만 일치하지 않아 프록시 서버로 전달되지 않았으나 정적 페이지가 정상적으로 표시되었습니다. /test/test.html

그러나 다음과 같이 일치할 수 있습니다.

올바른 데이터를 얻으려면. /products/getproducts/2,确实转发到了:localhost:8086/products/getproducts/2

먼저 두 가지만 물어보겠습니다. 저는 서버에 대해 잘 몰라서 좀 바보같을 수도 있겠네요

为情所困为情所困2749일 전570

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

  • 大家讲道理

    大家讲道理2017-05-16 17:25:54

    첫 번째 질문:
    Nginx는 try_files 지시문을 사용하여 index.php와 같은 프레임워크의 프런트엔드 컨트롤러로 요청 데이터를 쉽게 가져올 수 있습니다.

    으아아아

    프런트엔드 컨트롤러 index.php는 $_SERVER['REQUEST_URI']를 사용하여 URL 매개변수 /course/list의 문자열을 얻을 수 있습니다(/course/list?page=2&tag=와 같은 매개변수가 나중에 있는 경우). mysql의 경우 $_SERVER['QUERY_STRING']를 사용하여 쿼리 문자열 page=2&tag=mysql을 가져온 다음 urldecode를 사용하고 폭발을 사용하여 문자열을 &로 분할하여 $_GET과 유사한 매개변수 배열을 얻을 수도 있습니다. $_GET을 직접 사용하여 매개변수 배열을 가져옵니다.

    간단히 말하면 HTML 정적 파일을 로드하고 반환할지 아니면 처리를 위해 데이터베이스에 연결할지 결정하는 것은 프로그램 항목 index.php와 내부 프로그램입니다.
    Nginx가 HTML 캐시 적중 여부를 결정하도록 하려면 다음과 같이 구성할 수 있습니다:

    으아아아

    예를 들어 /post/1024에 액세스할 때 Nginx는 try_files에 지정된 순서대로 다음 파일에 액세스하려고 시도합니다.
    /post/1024 ($uri는 파일을 나타냄)
    /post/1024/ ($uri/는 디렉터리를 나타냄)
    /html/post/1024.html (/html$uri.html은 HTML 정적 캐시를 나타냄)
    둘 다 존재하지 않으면 매개변수와 함께 URI 정보가 처리를 위해 index.php로 전달됩니다(마지막 /index.php?$args가 이 의미를 나타냄).

    회신하다
    0
  • 習慣沉默

    習慣沉默2017-05-16 17:25:54

    질문 1, 다시 쓰기 방법을 사용할 수 있습니다. 예를 들면 다음과 같습니다.

    으아아아

    course로 시작하는 모든 요청만 다시 작성된다는 점에 유의하세요
    xxx.com/course/list -> xxx.com/course/list.html
    xxx.com/course/list/sub -> xxx.com/course/list/sub.html

    질문 2
    다른 위치 구성이 있어야 할 것 같습니다. 편리하다면 전체 nginx 구성을 게시하세요

    회신하다
    0
  • 취소회신하다