【发布时间】:2011-12-30 19:53:38
【问题描述】:
在线阅读有关 hash-bangs 的信息后。我决定坚持我们当前的 url 结构。我一直在开发一个网站并使其完全非 JavaScript。我来到了一个阶段,我可以开始将一些东西升级为花哨的 javascript 和 ajaxy 东西。
提供一些信息。基本上,当用户访问该站点时,主页是主要区域。它有一些统计数据和一个框。在此框中是带有一些号召性用语按钮(转到地图、联系方式等)的公司详细信息。
搜索公司时,或直接链接到您去的公司时
http://mysite.com/company/公司名称
然后这个url被apache重写为
http://mysite.com/index.php?company=公司名称
然后我的 php 脚本在哪里加载带有公司详细信息等的盒子
现在我来做一些 ajaxy 的东西。我希望用户能够点击我网站上的公司链接并使用搜索,而无需重新加载页面。因此,如果他们点击查看次数最多的公司的名称,框中会出现一个快速加载符号,然后公司详细信息会被加载到该区域。
这又不是什么大问题。我可以通过多种方式做到这一点,类名绑定或 url 正则表达式绑定与锚点上的点击处理程序。
但是,这是我的问题。我需要能够更改 URL,以便它始终反映公司名称。用户通过复制和粘贴 url 来共享链接。即使我提供了“单击以复制到剪贴板”的固定链接按钮,他们也几乎不会使用它。 Ebay 是一个典型的例子,他们提供了很好的分享 url,但是在这个地方的论坛上看到很长的链接是很常见的。
Hashbangs 或其他碎片化的 url 方法可以让我这样做。我还可以将 javascript 处理程序附加到 document.load,这样当用户从零碎的 url 访问该站点时,我可以填充该框。但是,如果非 JavaScript 用户使用零碎的 url 访问该网站,他们只会获得主页,并且必须手动搜索公司。
考虑到我一开始就投入了时间和精力来做所有非 js 的事情。我现在不想破坏它,也不想决定是否抛弃非 js 用户。然而,ajax 加载的内容非常重要,共享 url 也是如此。
理想的解决方案要么是 php 读取碎片化 url 的方式,要么是 javascript 改变 url 路径的方式
有人可以帮忙吗?
P.S:为这篇文章道歉。只是想提供尽可能多的信息并分享我从研究中发现的东西,以节省时间来复习我可能已经看过的东西
【问题讨论】:
-
对二极体没什么帮助,我知道 mod rewrite
标签: php javascript jquery ajax url-rewriting