Nginx는 하위 디렉토리 뒤의 모든 것을 제거합니다.

Nginx는 하위 디렉토리 뒤의 모든 것을 제거합니다.

답변을 찾기 위해 포럼에서 검색을 시도했지만 꽤 막혔습니다...

하위 페이지가 많았던 Course라는 페이지가 있는데 이제는 해당 하위 페이지에 대한 모든 요청이 코스 페이지로 다시 리디렉션되어야 합니다. 예:

http://www.example.com/course/whatever   
http://www.example.com/course/WHATEVER
http://www.example.com/course/123456whatever
http://www.example.com/course/whatever/whatever

다음으로 리디렉션:

http://www.example.com/course/

나는 이것을 시도했고 나에게 무한 루프를 제공합니다.

rewrite (?i)^(/course/)(.*) http://www.example.com/course permanent;

도움을 주시면 감사하겠습니다!

답변1

rewrite ^/course/. /course/ permanent;

Regexp는 자신을 제외 ^/course/.하고 시작하는 모든 항목을 일치시키고 로 리디렉션합니다 ./course//course//course/

답변2

한번 시도해 보세요.

rewrite ^/course/(.*)$ /course/$1 permanent;

관련 정보