
저는 단일 페이지 JS 애플리케이션을 작성하는 소프트웨어 개발자입니다. 저는 결코 시스템 관리자가 아니므로 양해해 주시기 바랍니다.
내가 달성하고 싶은 것은 사용자가 잠재적으로 공통적이거나 원치 않는 두 가지 URL 패턴 중 하나를 사용하여 내 사이트를 방문할 때마다 리디렉션이 발생하도록 하는 것입니다.
- mysite.com/index.html -> mysite.com으로 리디렉션
- mysite.com/path/they/remember -> 해시 버전으로 리디렉션: mysite.com/#/path/they/remember
다양한 방법을 시도했지만 계속 리디렉션 루프가 발생합니다. 현재 내가 가지고 있는 구성은 다음과 같습니다.
참고: /api에는 경량 oauth 프록시를 통해 내부적으로 모든 요청을 리디렉션해야 하므로 어떤 솔루션을 사용하더라도 이 리디렉션을 중단할 수 없습니다.
server {
# Redirect all requests through /api/ to apiproxy.php
location /api {
rewrite ^/api/?(.*)$ /apiproxy.php/$1 last;
}
location / {
index index.html
}
# use case #1 (combined with use case #2 optionally, a url such as mysite.com/index.html/path/they/remember)
location ~ /index.html/?(.*) {
return 301 http://mysite.com\#/$1;
}
location ~ /(.*) {
return 301 http://mysite.com\#/$1;
}
이 설정은 모든 방향에서 리디렉션 루프를 제공합니다. 누구든지 제안 사항이 있거나 내가 nginx 방식으로 수행하려는 작업을 수행하는 방법을 알고 있습니까?
답변1
먼저 로그 수준을 높이고 로그를 확인하세요.
마지막 위치 블록이 가짜인 것 같습니다.
또한 return 301 http://mysite.com\#/$1;
합법적이지 않은 것 같습니다. 하고 싶었어
return 301 http://mysite.com/\#/$1/;
?
탈출해야 해 #
?