首先,抱歉这个蹩脚的问题(可能)。我试图寻找答案,但我找不到我需要的所有问题。
所以...我有一个引导程序网站,我正在尝试将页面URL更改为如下所示:
例如:www.site.com/AboutUs.html - 显示为www.site.com/about-us
我正在使用pushState方法,因为它如下:
var stateObj = { AboutUs: "about-us" };
history.pushState(stateObj, "About Us", "about-us");
所以我在那里得到了所需的URL地址(www.site.com/about-us)..到目前为止一切顺利。但是在页面刷新时会抛出一个错误,说明"在此服务器上找不到请求的URL / about-us。" 如果我点击后面的浏览器按钮,它会再次访问www.site.com/AboutUs.html。(它应该会出现在主页上)
我的问题是:
我错过了什么,我应该做一个控制器,怎么做?
我不使用C#,我可能会使用PHP的一些帮助因为我不擅长它。欢迎使用JavaScript / jQuery。
提前致谢并抱歉这个愚蠢的问题。
快乐的日子!
答案 0 :(得分:0)
pushState
的要点是能够说:我已经使用JavaScript修改了页面,如果您刚要求服务器提供此URL,新状态就是您所获得的
根本不应该使用JavaScript来解决这个问题。您只想在特定的网址上显示一个页面。
您需要将服务器配置为在所需的URL上提供所需的内容。
我错过了什么,我应该制作一个控制器吗?
您需要服务器上的某些内容来处理网址/about-us
。
"控制器"如果你在服务器上使用MVC架构,那么你可能会使用它......它听起来并不像你。
您更有可能希望使用Alias
,mod_write
之类的工具,或者只是将静态文件移动到名为about-us
的目录并重命名为index.html