Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我用jquery更改(重写)URL,但当用户或我刷新页面时,我们得到404未找到错误_Javascript_Jquery - Fatal编程技术网

Javascript 我用jquery更改(重写)URL,但当用户或我刷新页面时,我们得到404未找到错误

Javascript 我用jquery更改(重写)URL,但当用户或我刷新页面时,我们得到404未找到错误,javascript,jquery,Javascript,Jquery,我像这样重写URL history.pushState('data', '', 'http://radyospor.fstats.net/Galatasaray-Bursa'); 一切都很好,但在刷新页面时重写url后,我会: “HTTP错误404.0-找不到 您正在查找的资源已被删除、名称已更改或暂时不可用。“ 我如何解决它?假设您的主页位于以下URL:http://radyospor.fstats.net/ 当您浏览到该URL时,服务器返回在其web根目录中找到的index.html文件

我像这样重写URL

history.pushState('data', '', 'http://radyospor.fstats.net/Galatasaray-Bursa');
一切都很好,但在刷新页面时重写url后,我会:

“HTTP错误404.0-找不到 您正在查找的资源已被删除、名称已更改或暂时不可用。“


我如何解决它?

假设您的主页位于以下URL:
http://radyospor.fstats.net/

当您浏览到该URL时,服务器返回在其web根目录中找到的
index.html
文件

调用
history.pushState
时,不会调用服务器,但URL已更改

history.pushState
之后刷新时,URL现在是
http://radyospor.fstats.net/Galatasaray-Bursa
服务器将其解释为对web根目录中名为
Galatasaray Bursa
的文件的请求。
此文件不存在,因此您将获得404

解决方案
  • 您需要为不存在的文件请求提供index.html服务。
    根据应用程序的托管位置,这可能是web服务器的配置(如nginx)或托管服务的配置
  • index.html中的Javascript代码需要读取当前URL并相应地显示相关内容。
    假设您不使用像ReactJs这样的框架,您可以使用类似的东西来处理路由

  • 您是否创建了实际存在并与此路径匹配的路由或页面?如果没有,就这样做。你不能仅仅期望更新浏览器的URL,并让它解析成某种东西。