php - 处理 URL 中的斜杠 ('/' ) CodeIgniter

标签 php url-rewriting urlencode codeigniter-2 codeigniter-url

我正在使用 CodeIgniter 创建一个站点。我有一个类似 http://mysite.com/albums/MJ/Dangerous.html 的 url,其中 MJ 是艺术家姓名,Dangerous 是专辑的名称。这两者都是动态的,并从数据库中获取。

在数据库中有一些专辑中有一个斜杠('/')字符。因此,这样的 URL 变为 http://mysite.com/albums/50-cent/Get+Rich+or+Die+Tryin%27%2FThe+Massacre.html。解码后,结果为 http://ringtones/albums/50-cent/Get Rich or Die Tryin'/The Massacre.html。这里的艺术家是 50-cent,专辑名称是 Get Rich or Die Tryin'/The Massacre

我的问题是,我该怎么做才能获得整个专辑名称,即 Get Rich or Die Tryin'/The Massacre.html 作为带有斜杠字符的单个参数?当前,当我单击此类 URL 时,CodeIgniter 会显示错误“找不到页面”。所有其他没有 / 的 URL 都可以正常工作。

最佳答案

尝试对相册名称进行双重 URL 编码(即 urlencode(urlencode($album)))。我试图将一个 URL 传递给 CodeIgniter Controller 一次,但它经常给我带来麻烦。所以我只是对它进行了双重编码,然后它就从另一边弹出了,没问题。然后,我对传递的参数运行了 urldecode()。

如果这对您有帮助,请告诉我。

关于php - 处理 URL 中的斜杠 ('/' ) CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040796/

相关文章:

redirect - 在 Nginx 中使用参数进行 URL 重定向

swift - 谷歌地图 : Universal link format - destination coordinates - "Unsupported Link Google Maps can' t open this link"

php - 组合 2 个不同长度的数组

Php - 如何在数组中存储 3 个元素的元组?

PHP 脚本即使登录不正确也能登录

.htaccess - 使用 Mod_Rewrite 去除扩展

regex - 如果在任何地方使用 .htaccess 找到,重定向并删除 slug

IIS 反向代理重新编码包含百分号 (%) 的 URL

html - 创建 pin 时将图像传递到 Pinterest?

php - 添加 PHP 条件时 CSS 不适用于 div