我有一个网站,只是从一个服务器移动到另一个服务器。在旧服务器上,请求的get-parameters自动被“url解码”。现在,在我的新服务器上,当我尝试检索GET参数时,我没有得到url解码值,而是编码值。
因为除了服务器之外我的项目中没有任何内容发生变化,这让我觉得这是一个PHP设置(可能在php.ini中?)。
如何让PHP自动解码我的GET参数值?
答案 0 :(得分:0)
我刚遇到同样的问题,原来是由于新服务器上的Apache重写规则在旧服务器上不存在。该规则重新编码已编码的URL。我很幸运地注意到Chrome的开发者工具网络选项卡中的URL快速更改,并意识到重定向必须是负责任的。
在我的情况下,解决方案是完全删除包含该规则的.htaccess
文件,但这种更改也可能是由Apache服务器配置文件中的规则引起的。
如果存在重写规则但需要,可以通过将NE
(no escape)添加到重写标记来禁用URL编码。