首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >URL包含%,%2f为a/,而%3d a= In yii?

URL包含%,%2f为a/,而%3d a= In yii?
EN

Stack Overflow用户
提问于 2014-08-11 12:49:50
回答 2查看 959关注 0票数 0

我在依伊的网址是:

代码语言:javascript
运行
复制
http://localhost/php_pro_106/reload/ByCustomer/mJYwIzoaIGe0R8lAVCqPhG%2Fg0jJFWjiWWdPnkq5VDlY%3D

我应该在url经理那里做些什么才能得到这个,我现在的规则是:

代码语言:javascript
运行
复制
'<controller:\w+>/ByCustomer/<giftcode>'=>'<controller>/ByCustomer',

其实问题是我得到了:

代码语言:javascript
运行
复制
The requested URL     /php_pro_106/reload/ByCustomer/mJYwIzoaIGe0R8lAVCqPhG/g0jJFWjiWWdPnkq5VDlY= was     not found on this server.

因为%3D %2F in URL.What,为了让它正常工作,我必须做些什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-11 13:07:43

我知道apache在URL中%2F有问题,它总是用404回复,不执行php脚本。我从来没有找到绕过它的方法。但那是几年前的事了。

编辑:

有一个解决方案,但它要求您至少可以为虚拟主机编辑apache配置文件(当时我还没有)。然后,您必须在AllowEncodedSlashes On中添加<VirtualHost>。或者你也可以在全球范围内设置它。

票数 0
EN

Stack Overflow用户

发布于 2014-08-11 17:22:38

我得到了它的解决方案,因为我必须更改我的编码和解码方法:

代码语言:javascript
运行
复制
function base64_url_encode($input) {
 return strtr(base64_encode($input), '+/=', '-_,');
}

function base64_url_decode($input) {
 return base64_decode(strtr($input, '-_,', '+/='));
} 

这个问题是由于编码Url.So中的一些字符造成的,我必须替换这些字符。

这些链接帮助我:

堆栈过流

谷歌集团

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25243714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档