i’m trying to create a url string that works like this:
/app/process/example.com/index.html
so in other words,
/app/process/$URL
i then retrieve the url with
$this->uri->segment(3);
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:
/app/process/example.com%2Findex.html
.. but now I just get a 404 saying ...
Not Found
The requested URL /app/process/example.com/index.html was not found on this server.
it appears that my url encoding of forward slashes breaks CI’s URI parser.
what can i do to get around this problem?
I think the error message you are getting is not from codeigniter but from your web server.
I replicated this using Apache2 without even using CodeIgniter: I created a file index.php, and then accessed index.php/a/b/c
- it worked fine. If I then tried to access index.php/a/b/c%2F
I got a 404 from Apache.
I solved it by adding to my Apache configuration:
AllowEncodedSlashes On
See the documentation for more information
Once you've done this you might need to fiddle around with $config['permitted_uri_chars']
in codeigniter if it is still not working - you may find the slashes get filtered out