Web applications 如何使用www.domain.org/#/主题/项目样式URL及其名称?

Web applications 如何使用www.domain.org/#/主题/项目样式URL及其名称?,web-applications,url,url-rewriting,Web Applications,Url,Url Rewriting,在许多网站上,我都能看到像www.domain.org/#/我的地址栏中的主题/项目。例如,新的twitter将URL更改为 我知道在HTML中使用目标时哈希会做什么:www.domain.org/page.HTML#topic3将浏览器视口移动到锚点 我还认为,这个URL方案解决了在动态加载内容的页面上,地址栏中始终有正确URL的问题 但是如何 …我是否在服务器上处理这些URL 一边(mod_重写,javascript?) …这种技术叫什么 谢谢你的帮助 您通常要做的是选择窗口.locat

在许多网站上,我都能看到像
www.domain.org/#/我的地址栏中的主题/项目
。例如,新的twitter将URL更改为

我知道在HTML中使用目标时哈希会做什么:
www.domain.org/page.HTML#topic3
将浏览器视口移动到锚点

我还认为,这个URL方案解决了在动态加载内容的页面上,地址栏中始终有正确URL的问题

但是如何

  • …我是否在服务器上处理这些URL 一边(mod_重写,javascript?)
  • …这种技术叫什么

谢谢你的帮助

您通常要做的是选择
窗口.location.hash
,并在AJAX请求中将其作为参数传递给服务器


有一个
窗口。onhashchange
事件用于查找何时更改(因此何时发出新的AJAX请求),但并非所有浏览器都实现它,因此,现在你最好只编写一个javascript间隔,持续检查哈希是否已更改。

Twitter和一些流行网站在地址中使用哈希的原因是,它使网站能够在使用Ajax动态加载的内容上使用后退和前进按钮。您实际上不必在服务器端执行任何操作,关键是在客户端捕获地址更改

有一个流行的jQuery插件,名为jQuery History。-这为您完成了任务,但是您必须使用Ajax从服务器加载内容,并将其显示在网站上的某个容器中


一个音符,一个音符!哈希旁边是一种让搜索引擎能够抓取你的网站的方法。关于这方面的更多信息,请参见

动态网页使用它们,正如您所说的。有许多方法可以在服务器端处理此类url请求。 我相信带感叹号的表单是用于SEO的


请参阅。

搜索引擎如何抓取web应用程序,即使使用!在它的URL中?我是否必须为搜索引擎提供静态版本(并在服务器端处理/#!/-URL)?还是它执行javascript从而获取动态内容?@Simon我相信他们会在散列之后打开URL。例如,如果您的URL是,那么它将尝试打开并查看从该站点返回的HTML内容。但是你可以直接从谷歌上读到它的工作原理-