Welcome Guest, Not a member yet? Register   Sign In
URL Suffix issue
#4

[eluser]Daniel Walton[/eluser]
Ok solved.

If using htaccess to remove index.php (or whatever renamed variant) which I'm assuming you are also, then you are presumably using an .htaccess rule similar to:

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

Please note the "?" in the rewrite rule, this is important.

The core URI library has a function to retrieve the uri string from each incoming request called "_fetch_uri_string()". Within this function it uses a shortcut way of finding the uri string if the URL contains a "?" (remember our .htaccess?)

If you can get away with it, i.e., if your server will support URL's like "http://example.com/index.php/controller", then just remove the question mark from your rewrite rule.

If unfoprtunately your server setup can only understand "http://example.com/index.php?/controller" then you can either extend the core URI library to removes this conditional:

Code:
if (is_array($_GET) AND count($_GET) == 1 AND trim(key($_GET), '/') != '')
{
    $this->uri_string = key($_GET);
    return;
}

Or just comment it out. The other conditionals should catch the request.

The reason this just doesnt work, for using url_suffixes on an index.php removed root url is that the $_GET key isn't allowed to contain periods, amongst other characters, so a request for "/foo.bar" is actioned as "/foo_bar" hence the 404.

Hope this helps Smile


Messages In This Thread
URL Suffix issue - by El Forum - 05-25-2008, 12:36 AM
URL Suffix issue - by El Forum - 05-25-2008, 12:31 PM
URL Suffix issue - by El Forum - 07-06-2008, 07:52 AM
URL Suffix issue - by El Forum - 07-06-2008, 08:35 AM
URL Suffix issue - by El Forum - 03-27-2009, 04:16 AM



Theme © iAndrew 2016 - Forum software by © MyBB