PHP重定向,不编码URL


PHP Redirect without encoding URL

我有一个带有身份验证系统的codeigniter应用程序。有时用户会被注销,并被转发到site.com/login?redir=feature/9+1/abc。登录后,应将它们转发到site.com/feature/9+1/abc

当用户被转发时,问题出现了:URL中的+被更改为%20%是一个不允许使用的URL字符,所以我的用户看到一条错误消息,说URL中有一个无效字符。即使我将%添加到允许的字符列表中,site.com/feature/9%201/abc也与site.com/feature/9+1/abc不同,并且用户看到404错误。

有没有一种方法可以将使用PHP的用户转发到/feature/9+1/abc而不是/feature/9%201/abc

将登录url修改为site.com/login?redir=feature/9%2B1/abc。这就行了。

它可能对你有用,因为它对我有用

try-urlencode函数http://php.net/manual/en/function.urlencode.php在发送和提取时使用urldecode函数