2016-06-17 48 views
9

Belirtilen on the react-router docs olarak yanıt yönlendiricili bir basename kullanmaya çalışıyorum. Bu, base href'un kullanımdan kaldırılmasından kaynaklanmaktadır. İşte Basename düzgün çalışmıyor

şimdi ne var:
import { Route, Router, useRouterHistory } from 'react-router'; 
 
import { createHistory } from 'history'; 
 
import { render } from 'react-dom'; 
 

 
var history = useRouterHistory(createHistory)({ 
 
    basename: '/subdirectory' 
 
}); 
 

 
render(
 
    <Router history={history}> 
 
    <Route path='/' component={App}> 
 
     <Route path='next' component={Next} /> 
 
    </Route> 
 
    </Router>, 
 
    document.getElementById('root') 
 
);

(App bileşeni render) beklendiği gibi ben http://the-url.com/subdirectory sayfa yüklendiğinde gittiğimde. Ancak, http://the-url.com/subdirectory/next'a gittiğimde, 404 hatası alıyorum. Benim nginx yapılandırma geçerli:

location /subdirectory { 
    alias /path/to/index.html; 
    index index.html; 
    try_files $uri $uri/ /path/to/index.html; 
} 
+3

Bunun için herhangi bir çözüm buldunuz mu? – Jatin

+1

Bunun için bir çözüm bulmuş muydunuz? –

+1

Bunun için herhangi bir çözüm var mı? – stefanil

cevap

2

Ben kullanarak bunu çözmüş:

import { Router, useRouterHistory } from 'react-router' 
import createBrowserHistory from 'history/lib/createBrowserHistory' 

const history = useRouterHistory(createBrowserHistory)({ 
    basename: '/', 
}) 

<Router history={history}> 

Sorunun history paketin farklı versiyonları olduğunu düşünüyorum. [email protected][email protected] kullanır, history zaten 4.5.1 adresindedir. history paketinin doğru sürümünü yüklediğinizden emin olun.

+0

, geliştirme konusunda iyi çalışıyor ancak yine de üretimde başarısız oluyor –