/test show /test.html에 대한 Nginx 재작성 규칙을 만드는 방법

/test show /test.html에 대한 Nginx 재작성 규칙을 만드는 방법

그래서 나는 내 사이트가 다음과 같은 방식으로 작동하도록 노력해 왔습니다.

example.com은 example.com/index.html을 보여줍니다.
example.com/test는 example.com/test.html을 보여줍니다
.

그래서 내 현재 구성 파일은 다음과 같습니다.

server {
    listen      80;
    listen      [::]:80;
    server_name example.com;
    root        /var/www/html;
    index index.html index.php;

    location / { 
        try_files $uri.html $uri $uri/ @htmlext;
    }   

    location ~ \.html$ {
        try_files $uri =404;
    }

    location @htmlext {
        rewrite ^(.*)$ $1.html last;
    } 

    error_page 404 /404.html;
}

그래서 어제 내내 인터넷 검색을 했는데 작동하지 못했습니다. 미리 감사드립니다!

답변1

server {
  listen      80;
  listen      [::]:80;
  server_name example.com;
  root        /var/www/html;
  index index.html index.php;

  location / { 
    try_files $uri $uri.html $uri/ /index.html;
  }

  error_page 404 /404.html;
}

답변2

아래 구성은 다음을 제공합니다.

curl http://example.com/test--> 출력: test.html의 내용

curl http://example.com/--> 출력: index.html의 내용

server {
    listen      80;
    listen      [::]:80;
    server_name example.com;
    root        /var/www/html;
    index index.html index.php;

    location /test {
        try_files $uri.html $uri $uri/;
    }
   
    location / { 
        try_files $uri.html $uri $uri/;
    }   

    location ~ \.html$ {
        try_files $uri =404;
    }

  

    error_page 404 /404.html;
}

관련 정보