php - 编码 URL 导致来自浏览器的禁止消息的奇怪问题

标签 php javascript internet-explorer

为一些奇怪的事情做好准备。以下在 Firefox 中运行良好:

重定向到这个 URL:

http://localhost/webs/van/front-end/slr/edit_rule.php?rule_name=test&rule_type=alloc_ext&copy=1

但是,它在 IE8 中不起作用,因为它将上面的转换为这个,请注意末尾地址中的版权符号:

http://localhost/webs/van/front-end/slr/edit_rule.php?rule_name=test&rule_type=alloc_ext©=1

所以,我觉得很奇怪,让 encodeURIComponent 这样做:

window.location.href = 'edit_rule.php%3Frule_name%3Dtest%26rule_type%3Dalloc_ext%26copy%3D1';

Firefox 和 IE8 现在都给我一条禁止消息!?!

You don't have permission to access /webs/van/front-end/slr/edit_rule.php? rule_name=test2&rule_type=alloc_ext&copy=1 on this server.

我不明白,这是怎么回事?

感谢大家的帮助。

最佳答案

& 需要是 HTML encoded , 不是 URI 编码。具体来说,将它们替换为 &

从技术上讲,IE8 的行为是错误的,因为 © 末尾缺少分号以使其成为 HTML 编码字符。

关于php - 编码 URL 导致来自浏览器的禁止消息的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4070643/

相关文章:

php - Register.php不插入sql查询

Php mysql 更新为相同的记录值并使用 round 函数修复

PHP mysqli 命令不同步;你现在不能运行这个命令

javascript - 如何将 DRY 原则应用于评论?

javascript - IE中有多少个window.event对象?

html - 如何在 ie 9-11 中给 iframe 设置不透明度

javascript - 脚本 438 : Object doesn't support property or method 'debug'

php - MySQL 查询不适用于嵌套选择

javascript - 如何使用 Backbone Collection 获取此 JSON 结果?

javascript - Bootstrap Modal 包含文本框弹出不起作用