2017-03-02 5 views
1

React JS에서 잘못된 경로 404 응답을 처리하고 기본 루트 컨텍스트로 라우팅하는 방법. 반응에서 404를 처리하는 방법

나는 <Route path='*' component={Home} />를 사용하여 시도했지만 작동하고 당신은 사용할 필요가 404

+0

경로 파일을 공유 할 수 있습니까? – Vikramaditya

+0

이것에 대해 좀 더 자세히 알고 싶습니까? 주어진 정보만으로는 완전한 답을 찾을 수 없습니다. –

답변

0

라우터의 redirect 반응주고 잘못된 경로에 대한 아니에요. 당신이 라우팅을위한 /를 사용하지만, 모든 요청에 ​​대해 다음을 수행해야합니다 응답 인덱스 파일을 렌더링 서버 측을 구현하지 않을 경우 귀하의 경우에는

<Redirect from="*" to path="/" />

0

이 될 것입니다. 당신이

2

난 당신이 조금 더 제공해야한다고 생각 서버 부분에 대해 걱정하지 않는다 #를 사용하는 경우이

<Redirect from="*" to="/" /> 

마지막 리디렉션 넣어 클라이언트 노선의

router.all('*', (req, res) => { res.response('index'); }) 

다음 정보. 지금까지 얻은 해답은 당신이 지정하지 않은 가정들입니다. 하나는 index.html을 제공하는 것을 알고 싶습니다. 404는 무엇을 의미합니까? 서버가 이것을 제공합니까? 경로가 일치하지 않습니까? 어떤 버전의 react-router를 사용합니까? webpack dev 서버 및/또는 dev 미들웨어가 혼합되어 있습니까?

나는

당신이 웹팩-DEV-서버를 사용하는 경우

는 설정 파일

에 follwing을 확인 후자는 여기에 역할을하지만 .. 더 지정하면 필요한 경우 내 대답을 변경한다고 가정을하고있어 당신의 다음 확인하여 index.html을 참조 할 HtmlWebpackPlugin를 사용하지 않는 경우
devServer: { 
    historyApiFallback: true, <- falls back to index.html if path is not routed 
    publicPath: '/', <- where the bundle is 
} 

output: { 
    path: path.sesolve(__dirname, 'dist') <- absolute path where the bundle is 
    publicPath: '/' <- makes sure HtmlWebpackPlugin injects '/' before bundle.js in output index.html 
} 

publicPath

당신의 출력을했다 config에게 웹팩에 있는지 확인 번들뿐만 아니라 '/bundle.js'까지.

노드에서 Webpack-dev-middleware를 사용하여 색인 및 번들을 제공하는 경우 메모리에서 any/build 또는/dist dir이 아닌 서비스를 제공한다는 점을 알고 있어야합니다.

반응 라우터에 문제가있는 경우 404 문제를 이해하지 못합니다. 어떤 경로와도 일치하지 않는다는 뜻입니까? react-router v4를 사용하는 경우 최신 베타 버전을 사용하십시오. 최신 기능 (4.0.0-beta.6)과 이전 버전 간의 일부 변경 사항으로 인해 예상 한 기능이 중단 될 수 있습니다.

라우터 V4 사용에

이 잡을 수있는 비 일치 경로 : 구성 요소에 어쩌면

<Switch> 
    <Route exact path="/" component={Home}/> 
    <Route exact path="/someroute" component={SomeComponent}/> 
    <Route component={NoMatchedRouteComponent}/> <- Catches "404" and redirects 
    </Switch> 

console.log(this.props.match)은 라우팅 일이 뭐죠 ..이 도움이

희망을보고, 그래서 좀 더 많은 정보를 제공하시기 바랍니다 우리는 당신을 더 잘 도울 수 있습니다 ..

+0

일치하지 않는 경로에 대한 v4의 새 라우팅을 캡처하는 가장 좋은 대답입니다. – wnamen

관련 문제