Если вы знаете, что последняя часть всегда будет четвертой, вы можете использовать «грязный путь», подобный этому:
$url = site_url($this->uri->segment(1).'/'.$this->uri->segment(2).'/'.$this->uri->segment(3));
А затем:
echo "<script type='text/javascript'>top.location.href = '".$url."'/testapp';</script>";
// here, though, I don't understan how "testapp" goes into the url..as a segment?
Это создастдействительный URL CI, использующий только первые 3 сегмента.
В качестве альтернативы, вы можете использовать функцию uri_string()
, которая возвращает только часть сегмента URL.На этом этапе вы можете разобрать / str_replace / array_pop / сделать все, что вам нужно, и передать новую сложную строку в функцию site_url()
, которая создаст для вас правильный URL.
Я не понимаю, что "testapp "есть или вы хотите заменить последний сегмент вашего URL этим?Таким образом, в вашем примере http://localhost/elephanti/connections/fb_connection/testapp
?
Имейте в виду, что и uri_string (), и site_url () являются функциями из URL-помощника , поэтому вам необходимо загрузить его.