htaccess重定向#!在网址中
问题描述:
我使用ajax在我的网站上加载页面。 每次页面加载我通过使用javascripthtaccess重定向#!在网址中
现在我想做的是,当有人通过输入来我的网站设置它通过window.loaction更改浏览器的URL
http//www.example.com/old/page/#!/new/page/
时间网址
http//www.example.com/old/page/#!/new/page/
他应该自动重定向到
http//www.example.com/new/page/
这也是在Facebook上发生的。
有人可以帮助我与所需的.htaccess代码实现相同。
在此先感谢
答
我觉得没有什么过去在您的网址#符号是在服务器端偶可见。所以htaccess,php等都不会知道哈希值是在那里开始的。我认为,为了解决这个问题,你将不得不使用客户端重定向。
window.onload = function(){
// First we use a regex to check for the #! pattern in the hash
if(window.location.hash.match(/\#\!/i)){
// If we found a match, use substring to remove the #! and do a redirect
window.location = window.location.hash.substring(2);
}
};
本示例将在页面加载时立即重定向用户。不幸的是,以这种方式进行重定向并不能帮助搜索引擎重新编制您的网站,但这只是使用基于JavaScript或基于哈希的网址的缺陷之一。
我尝试使用hte以下客户端脚本 requestedURL =“”+ window.location +“”; position = requestedURL.search(“#!”);如果(位置!= -1)newpage = requestedURL.substr(position + 2); \t requestedURL =“”; \t window.location = domainame + newpage; } 但这个脚本的问题在于它每次执行ajax调用时都会执行 – 2010-10-19 20:39:13
如果您可以通过javascript提示某种方式来执行相同的操作,那将是非常好的 – 2010-10-19 20:41:25
添加了一个示例。它在我的Web服务器上工作,但您可能需要稍微调整以适应您的环境。 – 2010-10-20 01:53:01