URL中的参数导致404错误

时间:2015-12-14 01:24:20

标签: html url redirect

我有一个使用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 );
}

1 个答案:

答案 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