You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/04/01 08:29:19 UTC

DO NOT REPLY [Bug 28116] New: - public_html (user redirect) is broken across cgi files

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=28116>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=28116

public_html (user redirect) is broken across cgi files

           Summary: public_html (user redirect) is broken across cgi files
           Product: Apache httpd-2.0
           Version: 2.0.40
          Platform: PC
               URL: http://www.carolingia.org/~margaret/cgi_bin/test.cgi
                    http://www.carolingia.org/margaret/cgi_bin/test.cgi
        OS/Version: Linux
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: mod_userdir
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: dkap+Apache@haven.org


I have wished to set up local execution of files that end in .cgi and yet, I
keep getting the:

Server error!

The server encountered an internal error and was unable to complete your request.

    Error message:
Premature end of script headers: test.cgi

If you think this is a server error, please contact the webmaster
Error 500

    www.carolingia.org
    Thu Apr 1 01:16:50 2004
    Apache/2.0.40 (Red Hat Linux)

error message.  I've set up the same directory to be accessed in two different
ways, so I know it's somewhere in the UserDir diretor, for, if you look at the
two URLs:

http://www.carolingia.org/~margaret/cgi_bin/test.cgi
http://www.carolingia.org/margaret/cgi_bin/test.cgi

you will see that they point to the same place, with the only difference between
them is the UserDir and the Alias, hence:

UserDir public_html_carolingia

Alias /margaret/ /users0/margaret/public_html_carolingia/
Alias /margaret /users0/margaret/public_html_carolingia/

If I add in a rewrite rule:
RewriteRule ^/~margaret(.*)$ margaret$1 [R]

It does the proper redirect, and Test is read,

BTW the "test.cgi" file is simply:

#!/bin/sh

echo "Content-type: text/html"
echo
echo "<HTML><HEAD><TITLE>Test</TITLE></HEAD><BODY>"
echo "<H1>Test</H1></BODY></HTML>"

so there shouldn't be any delays or anything else that chokes it.  Basically a
hello world program.

It works under one, and not the other.  The only error in the error log is the
same as the error on the page served:

[Thu Apr 01 01:16:53 2004] [error] [client 64.46.153.35] Premature end of script
headers: test.cgi

I've gone through all the changelog, and all the bug reports, and nothing even
vaguely mentions this.  On many sites from Google, there are a number of folks
running into this problem, moving their scripts away from a public_html
directory, finding that they work, and giving up.

This is not exactly what I want to do, nor to add a redirect rule for everyone.

Theoretically this should just work.

Since they are accessing the same directories, the <Directory></Directory>
section is obviously working, but the script is only working in one reference.

Help?

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org