这是我的代码
$default = array('location', 'id', 'page');
$url_info = $this->uri->uri_to_assoc(3, $default);
var_dump($url_info);
如果我的网址是
http://localhost/cidbg/test/uritest/location/india/page/8/id/58
然后我的$ url_info没问题。
array
'location' => string 'india' (length=5)
'page' => string '8' (length=1)
'id' => string '58' (length=2)
但是当我的网址是
http://localhost/cidbg/test/uritest/location/india/page//id/58
然后我的$ url_info是这样的。
array
'location' => string 'india' (length=5)
'page' => string 'id' (length=2)
58 => boolean false
'id' => boolean false
那里缺少页面变量。实际上我期待页面为FALSE。反正有没有这个?我的意思是如果缺少一个值,那么该名称应为false。
答案 0 :(得分:0)
Apache会自动将双斜杠转换为单斜杠。所以
http://localhost/cidbg/test/uritest/location/india/page//id/58
与http://localhost/cidbg/test/uritest/location/india/page/id/58
所以你可以使用.htaccess搜索一个复杂的方法来保留双斜杠(我不确定是否可能)或者你可以传递一个额外的参数(如0)而不是空。
http://localhost/cidbg/test/uritest/location/india/page/0/id/58