Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Passing a backspace as part of PATH_INFO

3 views
Skip to first unread message

Csaba Gabor

unread,
May 18, 2007, 5:32:09 AM5/18/07
to
OK, I am passing some convoluted urls back to apache and evidently
apache does not like by backspace. Is there anything that I can do to
have apache accept them?

The following works just fine:
http://mydomain.org/DE/d:(^|;)[^;:]{7}(;|:|$)/o:-DE;US;-US

but the following fails (the only difference is [^;:] goes to \w):
http://mydomain.org/DE/d:(^|;)\w{7}(;|:|$)/o:-DE;US;-US

In this case I get:
Not Found
The requested URL /DE/d:(^|;)\w{7}(;|:$)/o:-DE;US;-US was not found on
this server.

To me, the fact that it shows me the request as I gave it implies that
apache has some issue with that backspace character.

my rewrite log does not show the request being processed, error log
shows nothing. The access log shows:

127.0.0.1 127.0.0.1 - - [18/May/2007:11:16:45 +0200] - "GET /DE/d:
(%5E|;)%5Cw%7B7%7D(;|:$)/o:-DE;US;-US HTTP/1.1" /DE/d:(^|;)\\w{7}(;|:
$)/o:-DE;US;-US MyDomain.org mydomain.org 404 232 "-" "Mozilla/5.0
(Windows; U; Windows NT 5.1; en-US; rv:1.8.0.11) Gecko/20070312
Firefox/1.5.0.11" - "-"

Thanks,
Csaba Gabor from Vienna

HansH

unread,
May 18, 2007, 7:06:26 AM5/18/07
to
"Csaba Gabor" <dan...@gmail.com> schreef in bericht
news:1179480729....@u30g2000hsc.googlegroups.com...

> OK, I am passing some convoluted urls back to apache and evidently
> apache does not like by backspace. Is there anything that I can do to
> have apache accept them?
>
> The following works just fine:
> http://mydomain.org/DE/d:(^|;)[^;:]{7}(;|:|$)/o:-DE;US;-US
>
> but the following fails (the only difference is [^;:] goes to \w):
> http://mydomain.org/DE/d:(^|;)\w{7}(;|:|$)/o:-DE;US;-US
>
That's a back_slash_ not a back_space_.

Naming it correctly allows you to find a related directive:
http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes

HansH


Csaba Gabor

unread,
May 18, 2007, 9:06:52 AM5/18/07
to
On May 18, 1:06 pm, "HansH" <h...@invalid.invalid> wrote:
> "Csaba Gabor" <dans...@gmail.com> schreef in berichtnews:1179480729....@u30g2000hsc.googlegroups.com...> OK, I am passing some convoluted urls back to apache and evidently

Drat. You are correct about the title. Sorry about that.
Thanks for your response Hans - that was a very useful link, much
appreciated. Tried it right out.
Unfortunately, although apache accepts the backslash, it converts it
to a forward slash. Major bummer.

I have a solution to my original problem although I am not very happy
about it.
In apache's configuration file, httpd.conf, (or in my case: httpd-
vhosts.conf) under my virtual domain I put:
ErrorDocument 404 "/search.php"
Search.php is the page that would otherwise be handling the request.

In Search.php I added the third line (the first two were already
there):
$path_info = @$_SERVER['ORIG_PATH_INFO'];
if (!$path_info) $path_info = @$_SERVER['PATH_INFO'];
if (($ru=$_SERVER['REDIRECT_URL']) && !$path_info) $path_info = $ru;


And everything appears to be working again.

I found this approach at:
http://www.devarticles.com/c/a/Apache/Custom-Error-404-Documents-with-PHP/

Csaba Gabor from Vienna

0 new messages