2016-07-31 122 views
2

我有一個HTML單頁面應用程序,我試圖使用react路由器的browserHistory,但沒有成功。一切工作正常在本地開發服務器,並在使用hashHistory時生產。react-router browserHistory無法在Apache服務器上工作

事情我必須從一切到目前爲止我讀過的嘗試:

  • 的.htaccess從官方文檔更新(這似乎並沒有做任何事情)。任何人都可以證實這一點嗎?
  • createBrowserHistory(有和沒有的WebPack插件)

那是爲Apache服務器的一個已知的限制?任何幫助都感激不盡。

回答

1

我想我找到了解決方案。我改變了路徑和鏈接以包含'./'。我必須爲bundle.js腳本執行相同的操作。不知道這是否是Apache服務器的uniq,但現在browserHistory對我來說工作正常。

您也不需要爲此添加任何.htaccess配置以這種方式工作。

我會注意到我的測試文件夾不在服務器上的根文件夾中,也許這很重要。

的路由器

工作示例代碼
<Router history={browserHistory}> 
    <Route path="./" component={Intro}/> 
    <Route path="./news" component={News}/> 
    <Route path="./about" component={About}/> 
</Router> 

和鏈接

<Link to="./">Intro</Link> 
<Link to="./news">News</Link> 
<Link to="./about">About</Link> 

如果有人可以解釋爲什麼這可能是必要的或有不同的修復,將不勝感激。謝謝!

+0

我試過這樣,但它並沒有幫助我。什麼修復它給我的是添加以下到Apache指令: 選項+ FollowSymLinks –

+0

謝謝,我可以嘗試。我發現它工作正常(如路由器文檔中的文檔),如果這些文件在根目錄中,所以我將它們保留在那裏(現在不需要子文件夾)。 當您使用FollowSymLinks時,您是否保留帶或不帶週期的路徑? – quietbits

+0

我使用帶句點的路徑。 –

相關問題