1

基本上我有一个主要基于 Ajax 的站点。当您加载结果时,它会通过 Ajax 显示,并且 URL 地址栏从mysite.com变为mysite.com/#xyz/A_Random_Title

A_Random_Title是加载的事物的 SEO 友好格式标题,但重要的部分是#xyz. xyz是加载结果的ID,用于查询数据库。

CodeIgniter 有没有办法像这样读取当前的 URL?我的意思不是在页面加载后阅读它,而是阅读对它的请求......希望这是有道理的!

谢谢!

杰克

4

1 回答 1

3

不,它仅对浏览器可用,因此您必须使用 Javascript 处理它。服务器无法读取它。

说明:
基本上页面 URL 的散列部分(# 符号后面的部分)仅由浏览器处理 - 浏览器从不将其传递给服务器。遗憾的是,这是 HTML 标准的一部分,无论您使用的是 IE 还是任何其他浏览器(以及就此而言 PHP 或任何其他服务器端技术),它都是相同的。

这是维基百科所说的:

片段标识符的功能与 URI 的其余部分不同:即,它的处理完全是客户端的,没有服务器的参与。当代理(例如 Web 浏览器)从 Web 服务器请求资源时,代理将 URI 发送到服务器,但不发送片段。相反,代理等待服务器发送资源,然后代理根据分片值处理资源。在最常见的情况下,代理将网页向下滚动到具有等于片段值的属性字符串的锚元素。其他客户端行为是可能的

于 2010-09-02T12:35:33.260 回答