我正在处理的项目是使用pushState,但由于Internet Explorer无法正确处理,因此在更改URL时会使用shebang。有没有设置.htaccess允许在网址中的shebang但删除它并重定向它。截至目前,如果我要转到http://www.mydomain.com/#!/whatever.php,它只显示我的索引页面。但我希望它能做的是如果你转到http://www.mydomain.com/#!/whatever.php并将其重定向到http://www.mydomain.com/whatever.php
答案 0 :(得分:0)
不,使用.htaccess
是不可能的,因为#
之后的所有内容都没有被发送到服务器。你必须使用javascript来进行重定向。
答案 1 :(得分:0)
好的,所以我想出了问题的答案。所以javascript是唯一可以确定的方法,所以自从在URL中使用shebang
后,它将引导您进入域的索引页面,但仍然保持URL相同。所以我刚刚在页面顶部添加了以下内容。
$(document).ready(function(){
var loc = self.document.location;
if(loc.hash){
var href = loc.hash.split("#!/");
window.location = loc.protocol +'//'+ loc.host +'/'+href[1];
}
});