<p>i’m trying to create a url string that works like this:</p>

<pre><code>/app/process/example.com/index.html
</code></pre>

<p>so in other words,</p>

<pre><code>/app/process/$URL
</code></pre>

<p>i then retrieve the url with </p>

<pre><code>$this-&gt;uri-&gt;segment(3);
</code></pre>

<p>the forward slashes in the URL will of course be a problem accessing uri segments, so i’ll go ahead and url encode the URL portion:</p>

<pre><code>/app/process/example.com%2Findex.html
</code></pre>

<p>.. but now I just get a 404 saying ...</p>

<pre><code>Not Found

The requested URL /app/process/example.com/index.html was not found on this server. 
</code></pre>

<p>it appears that my url encoding of forward slashes breaks CI’s URI parser.</p>

<p>what can i do to get around this problem?</p>

With CodeIgniter, the path of the URL corresponds to a controller, a function in the controller, and the parameters to the function.
Your URL, /app/process/example.com/index.html, would correspond to the app.php controller, the process function inside, and two parameters example.com and index.html:
```
```
<?php
class App extends Controller {
    function process($a, $b) {
       // at this point $a is "example.com" and $b is "index.html"
    }
}
?>
```
```
edit:
In rereading your question, it seems like you want to interpret part of the URL as another URL. To do this, you need to write your function to take a variable number of arguments. To do this, you can use the functions func_num_args and func_get_arg as follows:
```
```
<?php
class App extends Controller {
    function process() {
        $url = "";
        for ($i = 0; $i < func_num_args(); $i++) {
            $url .= func_get_arg($i) . "/";
        }

        // $url is now the url in the address
    }
}
?>
```
```