Microsoft Internet Information Services with PHP installed as CGI and no ISAPI_Rewrite installed (no need for rewrites to be active): if routing is enabled, incoming URLs are decoded automatically, twice. This will mean that you cannot pass in certain things. For instance, "%20" will be converted to a space sign, and there's no way to know the original form. The problem is that "%2520" won't be decoded to "%20", but another decoding pass will decode that again to a spacebar. "%252520" will be decoded to "%20". Impossible to fix. As a workaround, use ISAPI mode or install ISAPI_Rewrite.