我正在学校项目上制作一页网页。我使用非常简单的历史API,只是更改URL,以便用户认为他在另一个页面上(但我隐藏并在页面上显示不同的元素) 它看起来像这样:
www.mypage.com/main www.mypage.com/slideshow
当我使用具有后退/前进历史记录按钮的应用程序时,它工作正常,但是当我想重新加载页面时,浏览器会尝试加载该虚假URL并导致崩溃。无论用户显示的是什么网址,我如何设置始终保持index.html?
我试图用htaccess管理这个,但我没有成功
答案 0 :(得分:1)
您似乎没有使用后端,这是实现所需结果的唯一方法。 (如果我的假设是正确的)浏览器会给出错误(刷新后无法加载/slideshow
),因为它试图获取该文件(来自本地计算机)但不存在。 SO answer explaining this well
因此,在您的示例中,您应该指示后端为所有路径呈现相同的视图(使用通配符),并根据给定的URL在前端进行显示。 / p>
您不必使用React-Router,而是创建一个路由器处理函数,该函数在每次刷新时运行(即加载javascript时),它根据路径(或URL)告诉您的页面要呈现的内容,按你的意愿打电话给他们)。
(您将知道将为每个网址运行javascript,因为后端已经使用通配符处理路由,*
)
答案 1 :(得分:0)
如果您只想将所有请求重写为一个网址,则只需
即可RewriteRule ^ /index.html [L]