PHP的哈希/哈希/片段部分

mik*_*y_w 8 php url hash mod-rewrite fragment-identifier

我试图找到一种方法来保存网址的哈希部分和PHP变量.这个想法有点怪异,但请耐心等待......

我想从以下URL中提取"location"片段并将其保存为PHP变量.

http://www.example.com/#location
Run Code Online (Sandbox Code Playgroud)

但是,此链接的讨论表明URL的片段只能通过JavaScript访问.

但是有可能创建一个链接,其中片段在URL中重复,由PHP解析,然后通过mod重写删除?所以....

原始网址:

http://www.example.com/location/#location
Run Code Online (Sandbox Code Playgroud)

由于URL中的普通"位置",PHP获取位置变量

然后Apache将链接重写为:

http://www.example.com/#location
Run Code Online (Sandbox Code Playgroud)

我很想知道是否有一种优雅的方法来解决这个问题.

pix*_*x0r 9

您需要使用Javascript来阅读此内容.有几个不同的选项 - 在页面加载时,您可以使用XmlHTTPRequest(AJAX请求)告诉服务器其他URL参数是什么.您可以检查Alternatley是否有其他参数(也可以通过Javascript),如果您发现任何参数,请回发到不同的URL,这些参数将这些参数编码到URL本身.


Tyl*_*ter 5

根据Mod_Rewrite论坛上的这个帖子,Fragment永远不会发送到服务器.因此,除非您使用AJAX在事后更改页面,否则这可能是不可能的.

另一个想法是让Javascript将哈希转换为$ _GET参数,然后刷新页面.


dus*_*oft 0

您可以通过 AJAX 将哈希片段发送到 PHP 脚本并立即刷新(重新加载页面)