Hi all,

I have a problem with HTTP head requests and mod_perl. I have been
looking at the docs, searching google newsgroup archive but I couldn't
find anything thus you are my very last hope ;-)

In order to show what the problem is, I have set up two simple identical
'Hello World' type CGI scripts on my machine. One is running under
Apache::Registry, the other is running as a plain old CGI.

Here is what I get:

not_mod_perl test (plain CGI, everything works fine)
=================

[root@frogette /]# lynx --dump http://not_mod_perl
Hello World!

[root@frogette /]# lynx --dump -head http://not_mod_perl
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2001 11:22:37 GMT
Server: Apache/1.3.19 (Unix) mod_perl/1.25
Connection: close
Content-Type: text/plain


mod_perl_test (mod_perl, headers are fubar)
=============

[root@frogette /]# lynx --dump http://mod_perl
Hello World!


[root@frogette /]# lynx --dump --head http://mod_perl
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2001 11:24:50 GMT
Server: Apache/1.3.19 (Unix) mod_perl/1.25
Connection: close
Content-Type: text/plain

Hello World!


PROBLEM HERE
A head request should * NOT * return the body of the document


Obviously this is very wierd!

You can find more details on the config in the attached file.
Any ideas on what's going on?


Cheers,
-- 
== \______ =====================================================
   /\____/\  IT'S TIME FOR A DIFFERENT KIND OF WEB 
  / /\__/\ \
_/_/_/\/\_\_  Jean-Michel Hiver - Software Director
 \ \ \/*/ /   [EMAIL PROTECTED]    +44 (0)114 221 4968
  \ \/__\/   
   \/____\   VISIT HTTP://WWW.MKDOC.COM 
== / ===========================================================
Added these two lines in /etc/hosts
===================================

127.0.0.1       mod_perl
127.0.0.1       not_mod_perl



This is the test script, test.cgi
=================================

#!/usr/bin/perl
print "Content-Type: text/plain\r\n\r\n";
print "Hello World!";



This is /opt/mod_perl/httpd.conf. It is included in my apache httpd.conf
========================================================================
   (mod_perl enabled test.cgi)

<VirtualHost 127.0.0.1>
  ServerName  mod_perl
  ServerAdmin root@mod_perl
  CustomLog   /opt/mod_perl/www_combined_log combined
  ErrorLog    /opt/mod_perl/www_error_log
  Alias /     /opt/mod_perl/test.cgi
  <Directory /opt/mod_perl>
     SetHandler perl-script
     PerlHandler Apache::Registry
     PerlSendHeader On

     # directives for CGI. These should work everywhere
     # do not uncomment that bit of text
     Options ExecCGI
     AddHandler cgi-script .cgi
     order allow,deny
     allow from all
     AllowOverride none
   </Directory>
</VirtualHost>



This is /opt/not_mod_perl/httpd.conf. It is included in my apache httpd.conf
============================================================================
   (mod_perl disabled test.cgi)

<VirtualHost 127.0.0.1>
  ServerName  not_mod_perl
  ServerAdmin root@not_mod_perl
  CustomLog   /opt/not_mod_perl/www_combined_log combined
  ErrorLog    /opt/not_mod_perl/www_error_log
  Alias /     /opt/not_mod_perl/test.cgi
  <Directory /opt/not_mod_perl>
     # SetHandler perl-script
     # PerlHandler Apache::Registry
     # PerlSendHeader On

     # directives for CGI. These should work everywhere
     # do not uncomment that bit of text
     Options ExecCGI
     AddHandler cgi-script .cgi
     order allow,deny
     allow from all
     AllowOverride none
   </Directory>
</VirtualHost>


Added this in /usr/local/apache/conf/httpd.conf

Include /opt/mod_perl/httpd.conf
Include /opt/not_mod_perl/httpd.conf


Restarted apache


not_mod_perl test
=================

[root@frogette /]# lynx --dump http://not_mod_perl
Hello World!

[root@frogette /]# lynx --dump -head http://not_mod_perl
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2001 11:22:37 GMT
Server: Apache/1.3.19 (Unix) mod_perl/1.25
Connection: close
Content-Type: text/plain



mod_perl_test
=============

[root@frogette /]# lynx --dump http://mod_perl
Hello World!


[root@frogette /]# lynx --dump --head http://mod_perl
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2001 11:24:50 GMT
Server: Apache/1.3.19 (Unix) mod_perl/1.25
Connection: close
Content-Type: text/plain

Hello World!


PROBLEM HERE
A head request should * NOT * return the body of the document

Reply via email to