簡體   English   中英

反應路由器哈希歷史記錄

[英]React router hash history

我研究了hashHistory與browserHistory並停留在“哈希歷史不需要任何服務器端配置”這一點上。 我不明白這一點,請告訴我。

當您將react-router設置為使用``哈希歷史記錄''時...

 <Router history={hashHistory}>

...它會在網址末尾添加這些看起來很奇怪的#字符串(哈希字符串)。 路由器使用字符串中包含的信息來為請求的特定頁面呈現正確的組件。

如果您不希望哈希字符串出現在URL的末尾,則可以設置react-router來創建類似於example.com/some/path真實URL。 內部react-router將確保呈現該路由的正確組件。

只有一個問題。 現在,如果有人訪問example.com/some/path您的服務器將嘗試在您的網站目錄中找到該頁面,而不是將請求移交給您的React Router。 您的服務器不知道如何處理URL。

無論輸入什么URL,都必須將服務器配置為始終交付您的應用程序。然后,您的應用程序在瀏覽器中將操縱URL返回正確的頁面。 因此,當您要使用服務器時,還需要在服務器上進行一些配置

 <Router history={browserHistory}>

獲得更好的網址

以下是有關瀏覽器歷史記錄(網址看起來不錯)和哈希歷史記錄(網址中的#號)之間的區別的一些信息

您無需編寫正在使用的服務器。 文檔中有一些服務器配置示例(nginx,apache)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM