当我点击链接时,我会得到一个URL:如下所示:
adipiscing-elit.&Sort=popular
我要改成这个吗:
adipiscing-elit.&;Sort=popular
它有效。
这是浏览器或php的问题吗?是因为我在locahost工作吗?
(现在,我正在使用一个名为Vanilla的论坛软件)
&
,而不是空的&
。但在您的情况下,它在生成的页面中肯定是双转义&
。在您使用的软件中,url会使用htmlentities
或htmlspecialchars
进行两次转义。查找所有事件并设置第四个函数参数$double_encode = false
。
另一个解决方法是更改php.ini
设置arg_separator.input = ";&"
这将允许&
意外地充当分隔符("amp"将变成一个空元素,因为URL在&
和;
处被分解)。但是,只有在找不到bug的情况下才能这样做。
不确定你的问题是什么。URI参数的常用分隔符是&符号'&',而'&'
是同一个字符的HTML/XML实体,即"&"。如果你有一个这样的URI;
adipiscing-elit.&Sort=popular
这大致转化为参数;
adipiscing-elit = (blank)
amp;Sort = 'popular'
这就是为什么你的URI不起作用;‘amp;Sort是参数名称,您需要它只是"Sort"。