我有一个使用AJAX的单页网站。我通过URL将参数传递给JavaScript。但参数导致404错误(因为找不到页面)。我怎么解决这个问题?例如:
www.mydomain.com/firstname/james/lastname/smith/age/53/profession/engineer 导致404错误。我希望它转到index.html
如何进行路由?
我正在使用jQuery。这就是我修改URL的方式。
function writeUrlToBrowserWindow(){
var theString = '/ch/' + currentChapter + '/' +
't1/' + text1Info.code + '/' +
't2/' + text2Code + '/' +
'a1/' + audio1Info.code + '/' +
'a2/' + audio2Code ;
window.history.pushState(null, null, theString );
}
答案 0 :(得分:1)
您必须在此处使用网址重写。
由于
www.mydomain.com/firstname/james/lastname/smith/age/53/profession/engineer
将使服务器查找像
这样的索引页面www.mydomain.com/firstname/james/lastname/smith/age/53/profession/engineer/index.html
由于此文件和所有父文件夹都不存在,您将收到错误。
配置了.htaccess
文件进行URL重写后,您将告诉服务器重定向到其中包含参数的其他网址,例如:
www.mydomain.com/index.html?firstname=james&lastname=smith&age=53&profession=engineer
并提供适当的内容。
我猜你也需要索引页面在PHP中,以便能够检索URL参数。
或者你也可以在URL中构建一个哈希并在JS中检索它:
www.mydomain.com/index.html/#/firstname/james/lastname/smith/age/53/profession/engineer
您可以开始阅读此here。