You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Bill Eberle <bi...@zinza.com> on 2000/12/26 14:48:03 UTC

Location directive not working for mod perl

I hope this is the correct mailing list for newbie mod perl questions.
I have just installed mod_perl 1.24 with Apache 1.3.14.  Mod perl seems
to be running because upon startup of httpd, the Apache error log file
says

Apache/1.3.14 (Unix) mod_perl/1.24_02-dev configured -- resuming normal
operations

The problem I'm having is that the Location directive does not seem to
be working.  I have the following in my httpd.conf file:

Alias  /perl/  "/home/httpd/perl"

<Location /perl>
     SetHandler perl-script
     PerlHandler Apache::Registry
     Options +ExecCGI
     allow from all
     PerlSendHeader On
</Location>

I have placed a file called test-cgi in the directory
"/home/httpd/perl/".  It is executable and runs if executed from the
command line.  However, when I try to call this script through the
browser using the URL http://localhost/perl/test-cgi I get a 404 not
found error (The requested URL /perl/test-cgi was not found on this
server.The requested URL /perl/test-cgi was not found on this server.)

The ScriptAlias directive works fine.  I have:

ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"

and the same file (test-cgi) placed in /usr/local/apache/cgi-bin
executes without problems.

This all seems very simple so I don't understand what I'm doing wrong.
Any ideas anyone?



Re: Location directive not working for mod perl

Posted by Vivek Khera <kh...@kciLink.com>.
>>>>> "RB" == Rod Butcher <rb...@hyena.com.au> writes:

RB> I believe you need the trailing / 
RB> i.e. Alias  /perl/  "/home/httpd/perl/"
RB> (but why not use Scriptalias ?)

Because ScriptAlias makes it use mod_cgi rather than mod_perl.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D.                Khera Communications, Inc.
Internet: khera@kciLink.com       Rockville, MD       +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera   http://www.khera.org/~vivek/

Re: Location directive not working for mod perl

Posted by Stas Bekman <st...@stason.org>.
On Wed, 27 Dec 2000, Bill Eberle wrote:

> Rod Butcher wrote:
> 
> > I believe you need the trailing /
> > i.e. Alias  /perl/  "/home/httpd/perl/"
> 
> Yes, that was it...thanks!
> 
> >
> > (but why not use Scriptalias ?)
> 
> Somewhere in the perl.apache.org docs it was suggested that Alias was
> preferrable to ScriptAlias for mod_perl.  I'll have another look.

http://perl.apache.org/guide/config.html#Alias_Configurations

> 
> 
> >
> > Rod
> >
> > ----- Original Message -----
> > From: "Bill Eberle" <bi...@zinza.com>
> > To: <mo...@apache.org>
> > Sent: Wednesday, December 27, 2000 12:48 AM
> > Subject: Location directive not working for mod perl
> >
> > > I hope this is the correct mailing list for newbie mod perl questions.
> > > I have just installed mod_perl 1.24 with Apache 1.3.14.  Mod perl seems
> > > to be running because upon startup of httpd, the Apache error log file
> > > says
> > >
> > > Apache/1.3.14 (Unix) mod_perl/1.24_02-dev configured -- resuming normal
> > > operations
> > >
> > > The problem I'm having is that the Location directive does not seem to
> > > be working.  I have the following in my httpd.conf file:
> > >
> > > Alias  /perl/  "/home/httpd/perl"
> > >
> > > <Location /perl>
> > >      SetHandler perl-script
> > >      PerlHandler Apache::Registry
> > >      Options +ExecCGI
> > >      allow from all
> > >      PerlSendHeader On
> > > </Location>
> > >
> > > I have placed a file called test-cgi in the directory
> > > "/home/httpd/perl/".  It is executable and runs if executed from the
> > > command line.  However, when I try to call this script through the
> > > browser using the URL http://localhost/perl/test-cgi I get a 404 not
> > > found error (The requested URL /perl/test-cgi was not found on this
> > > server.The requested URL /perl/test-cgi was not found on this server.)
> > >
> > > The ScriptAlias directive works fine.  I have:
> > >
> > > ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
> > >
> > > and the same file (test-cgi) placed in /usr/local/apache/cgi-bin
> > > executes without problems.
> > >
> > > This all seems very simple so I don't understand what I'm doing wrong.
> > > Any ideas anyone?
> > >
> > >
> > >
> 



_____________________________________________________________________
Stas Bekman              JAm_pH     --   Just Another mod_perl Hacker
http://stason.org/       mod_perl Guide  http://perl.apache.org/guide 
mailto:stas@stason.org   http://apachetoday.com http://logilune.com/
http://singlesheaven.com http://perl.apache.org http://perlmonth.com/  



Re: Location directive not working for mod perl

Posted by Bill Eberle <bi...@zinza.com>.
Rod Butcher wrote:

> I believe you need the trailing /
> i.e. Alias  /perl/  "/home/httpd/perl/"

Yes, that was it...thanks!

>
> (but why not use Scriptalias ?)

Somewhere in the perl.apache.org docs it was suggested that Alias was
preferrable to ScriptAlias for mod_perl.  I'll have another look.


>
> Rod
>
> ----- Original Message -----
> From: "Bill Eberle" <bi...@zinza.com>
> To: <mo...@apache.org>
> Sent: Wednesday, December 27, 2000 12:48 AM
> Subject: Location directive not working for mod perl
>
> > I hope this is the correct mailing list for newbie mod perl questions.
> > I have just installed mod_perl 1.24 with Apache 1.3.14.  Mod perl seems
> > to be running because upon startup of httpd, the Apache error log file
> > says
> >
> > Apache/1.3.14 (Unix) mod_perl/1.24_02-dev configured -- resuming normal
> > operations
> >
> > The problem I'm having is that the Location directive does not seem to
> > be working.  I have the following in my httpd.conf file:
> >
> > Alias  /perl/  "/home/httpd/perl"
> >
> > <Location /perl>
> >      SetHandler perl-script
> >      PerlHandler Apache::Registry
> >      Options +ExecCGI
> >      allow from all
> >      PerlSendHeader On
> > </Location>
> >
> > I have placed a file called test-cgi in the directory
> > "/home/httpd/perl/".  It is executable and runs if executed from the
> > command line.  However, when I try to call this script through the
> > browser using the URL http://localhost/perl/test-cgi I get a 404 not
> > found error (The requested URL /perl/test-cgi was not found on this
> > server.The requested URL /perl/test-cgi was not found on this server.)
> >
> > The ScriptAlias directive works fine.  I have:
> >
> > ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
> >
> > and the same file (test-cgi) placed in /usr/local/apache/cgi-bin
> > executes without problems.
> >
> > This all seems very simple so I don't understand what I'm doing wrong.
> > Any ideas anyone?
> >
> >
> >


Re: Location directive not working for mod perl

Posted by Rod Butcher <rb...@hyena.com.au>.
I believe you need the trailing / 
i.e. Alias  /perl/  "/home/httpd/perl/"
(but why not use Scriptalias ?)
Rod

----- Original Message ----- 
From: "Bill Eberle" <bi...@zinza.com>
To: <mo...@apache.org>
Sent: Wednesday, December 27, 2000 12:48 AM
Subject: Location directive not working for mod perl


> I hope this is the correct mailing list for newbie mod perl questions.
> I have just installed mod_perl 1.24 with Apache 1.3.14.  Mod perl seems
> to be running because upon startup of httpd, the Apache error log file
> says
> 
> Apache/1.3.14 (Unix) mod_perl/1.24_02-dev configured -- resuming normal
> operations
> 
> The problem I'm having is that the Location directive does not seem to
> be working.  I have the following in my httpd.conf file:
> 
> Alias  /perl/  "/home/httpd/perl"
> 
> <Location /perl>
>      SetHandler perl-script
>      PerlHandler Apache::Registry
>      Options +ExecCGI
>      allow from all
>      PerlSendHeader On
> </Location>
> 
> I have placed a file called test-cgi in the directory
> "/home/httpd/perl/".  It is executable and runs if executed from the
> command line.  However, when I try to call this script through the
> browser using the URL http://localhost/perl/test-cgi I get a 404 not
> found error (The requested URL /perl/test-cgi was not found on this
> server.The requested URL /perl/test-cgi was not found on this server.)
> 
> The ScriptAlias directive works fine.  I have:
> 
> ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
> 
> and the same file (test-cgi) placed in /usr/local/apache/cgi-bin
> executes without problems.
> 
> This all seems very simple so I don't understand what I'm doing wrong.
> Any ideas anyone?
> 
> 
>