Apache, The Wall, and My Head

shockme on 2003-11-14T03:18:08

It's driving me insane ... INSANE I TELL YOU ...

Notice:

http://exitwound.org/music/index.pl works.

http://exitwound.org/music does not work.

The 403 Forbidden error is reflected in the logs as

attempt to invoke directory as script: /correct/path/to/script/dir

DirectoryIndex is specified correctly:

DirectoryIndex index.pl index.php index.html index.htm index.shtml index.cgi

The handler is there:

AddHandler cgi-script .pl

I have a ScriptAlias of:

ScriptAlias /music/ /correct/path/to/script/dir/
< Directory /correct/path/to/script/dir/>
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
< / Directory>

(Note: the funky spacing the Directory tags is intentional - for some reason my PRE tags didn't prevent them from getting eaten. The spacing is correct in httpd.conf.)

No joy. Sore head.



Posted from exitwound.org, comment here.


To slash... or not to slash...

phillup on 2003-11-14T06:06:28

That is the question.

If I understand correctly...

You have a script alias of /music/

That means the URL must be /music/

If your script alias is /music

Then the URL can be /music

(I'm not totally positive... but, I think you have to list both to cover both cases)

Re:To slash... or not to slash...

rob_au on 2003-11-14T09:40:14

You're spot on with this - The problem does reside with the directory alias. The better definition of the directory alias would be:
ScriptAlias /music /correct/path/to/dir

Note the lack of trailing slashes in both the alias definition and the directory path - This will provide the correct functionality irrelevant of whether the web URL is invoked with the full path to index.pl or merely to the parent directory.

Re:To slash... or not to slash...

shockme on 2003-11-14T14:16:09

I wish this was the answer. I really do, but the results are the same.

Re:To slash... or not to slash...

phillup on 2003-11-14T20:53:19

Sorry, I got mixed up there a bit.

Here is what my manual says about DirectoryIndex:

---

The DirectoryIndex directive sets the list of resources to look for, when the client requests an index of the directory by specifying a / at the end of the a directory name.

Re:To slash... or not to slash...

shockme on 2003-11-14T21:01:26

With a slash, without a slash, it's all the same. It keeps complaining that I'm attempting to execute a directory.

Grr....

Did you manage to fix this?

tarquin on 2004-04-17T12:31:19

I'm having the same problem on Windows 2000 with Apache 2. I suspect it's my recent install of ActiveState 5.8 that altered the Windows Registry so ScriptInterpreterSource Directive is no longer working -- but I would very much appreciate any clues!

Re:Did you manage to fix this?

shockme on 2004-04-17T13:31:11

I don't have a clue about Windows. Sorry.

Re:Did you manage to fix this?

tarquin on 2004-04-17T13:48:54

How did you fix it on your OS? It might be the windows registry thing is a false trail.

Re:Did you manage to fix this?

shockme on 2004-04-19T13:21:04

Heh. Good point. I had a duplicate virtual host entry in my httpd.conf (i.e., one for the "world" interface and a second for the intranet interface). I put a firewall in, thus making the "world" interface section inapplicable. However, the changes I was making were to the "world" section of httpd.conf and not the intranet section (which, because of the firewall, was the only section Apache was now using). Once I removed the "world" section from httpd.conf, everything started working.