我正在使用 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/