S3 버킷의 Amazon 서버에 React 앱을 배포하고 있습니다. 문제는 동일한 주소 아래에 호스팅되는 많은 웹 사이트가 있다는 것입니다. 내가 일하는 회사의 쇼 케이스 웹 사이트입니다. 홈페이지는 www.example.com입니다.
내 웹 사이트는 www.example.com/mywebsite에서 사용할 수있게됩니다. 내 웹 사이트의 홈페이지이기도합니다. 거기에서 당신은 사이트 주위를 클릭 할 수 있습니다. 내가 그것에 대한 사용자 지정 접두사를 빌드, 그것은 패스에 일종의 ID를 포함하는 것들을 제외하고 거의 모든 페이지에 대해 잘 작동합니다.
따라서 www.example.com/mywebsite/user/123으로 이동하면 www.example.com으로 리디렉션됩니다.
Amozon 서버는 URL의 ID 부분을 인식하지 못합니다.
다음은 반응 라우터 (Typescript)의 내 경로 구성입니다.
export class Routes extends React.Component {
render() {
return (
<div>
<Route exact path={HOME_PAGE} component={Home}/>
<Route exact path={HOME_PAGE + "/user/:id"} component={UserDetails}/>
</div>
);
}
}
URL에 대해 작성한 접두사입니다.
//Specifies the ENVIRONMENT the app runs in DEVELOPMENT or PRODUCTION
export const ENVIRONMENT: "DEVELOPMENT" | "PRODUCTION" = "PRODUCTION"
//When in development the app is running local so no prefix is needed else
//add /mywebsite to the home page url
export const HOME_PAGE = (ENVIRONMENT == "DEVELOPMENT") ? "" : "/mywebsite"
웹 사이트는 온라인에서 사용할 수 있지만 Stackoverflow에서 링크를 공유 할 수 없습니다.