我有一个带有身份验证系统的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函数