簡體   English   中英

我使用 jquery 更改(重寫)URL,但是當用戶或我刷新頁面時,我們收到 404 not found 錯誤

[英]I change (rewrite) URL with jquery but when user or I refresh the page, we get 404 not found error

我像這樣重寫 URL,

history.pushState('data', '', 'http://radyospor.fstats.net/Galatasaray-Bursa');

一切都很好,但在刷新頁面時重寫 url 后,我得到:

“HTTP 錯誤 404.0 - 未找到您要查找的資源已被刪除、更名或暫時不可用。”

我該如何解決?

假設您的主頁位於以下 URL: http://radyospor.fstats.net/ : http://radyospor.fstats.net/
當您瀏覽到該 URL 時,服務器會返回位於其 Web 根目錄中的index.html文件。

當您調用history.pushState ,不會調用服務器,但更改了 URL。

history.pushState之后刷新時,URL 現在是http://radyospor.fstats.net/Galatasaray-Bursa ,服務器將其解釋為對 Web 根目錄中名為Galatasaray-Bursa的文件的請求。
此文件不存在,因此您會收到 404。

解決方案

  1. 您需要為對不存在的文件的請求提供 index.html。
    根據您的應用程序的托管位置,這可能是 Web 服務器 (EG nginx) 的配置或托管服務的配置。
  2. index.html 中的 Javascript 代碼需要讀取當前 URL 並相應地顯示相關內容。
    假設你不使用像 ReactJs 這樣的框架,你可以使用類似page.js 的東西來處理路由

暫無
暫無

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

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