Post Method not allowed

OSX_MAN

Registered
I just started up Apache and PHP, I know the PHP is working, but when I try and pass a value by the "POST" method I get this error...

Method Not Allowed
The requested method POST is not allowed for the URL /ppsp/proof_manager/add_contact.php3.

------------------------------------------------------------------------
Apache/1.3.20 Server at 127.0.0.1 Port 80

Help:confused:
 

jimr

McInstigator
#from httpd.conf
# Each directory to which Apache has access, can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#

#[Directory /home/*/Sites]
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# [Limit GET POST OPTIONS PROPFIND]
# Order allow,deny
# Allow from all
# [/Limit]
# [LimitExcept GET POST OPTIONS PROPFIND]
# Order deny,allow
# Deny from all
# [/LimitExcept]
#[/Directory]
-------------------------
sorry about the brackets [ should = <
------------------------------

so you will have to do domething for allowing the GET POST.....etc. in the directory of your choice.

by default, those permissions are only allowed in the cgi-bin directory.....

...the joys of webmastering
 

message

Registered
Thanks for the aobve response - I have the exact same problem.

Checked by httpd.conf and noticed mine has some extra lines in a 'limit' tag which your example doesn't seem to have.

Are you suggesting to *remove* these? Or is there something I need to *add* to my conf file?

I only need to get POST allowed to my CGI-BIN... somewhat surprised it's not allowed by default - naive or what!

Thanks
 

OSX_MAN

Registered
The problem I had was fixed easily. I my files ended with php3 and when I changed it to php it worked fine.

I am no expert on any of this, but I would say that you don't have privilages set to write to the cig_bin.
 

jimr

McInstigator
Originally posted by message

Are you suggesting to *remove* these? Or is there something I need to *add* to my conf file?
<hr>
<font color-"#770077">
no they were "removed" by the software for this BBS
</font>
<hr>
I only need to get POST allowed to my CGI-BIN... somewhat surprised it's not allowed by default - naive or what!

Thanks
I did say it was enabled there(cgi-bin) by default.

your problem seems to be associated with permissions

set all scripts in cgi bin

chmod 755 script.cgi

make sure the owner is a restricted user like <b>root</b> or <b>yourname</b>
or<b> unknown</b>....

if you have files which need to be written to in cgi-bin you will have to
chmod 644 myfile.dat

and set the owner to<b> root</b> or <b>www </b> or whatever user the script is running as....
<hr>
once you do these things in your sleep you will be able to do them in your sleep...
 

message

Registered
Hmm. Set permissions, checked owner (it's me!). Still no post allowed.

I'm using a cgi-bin in my ~user/site folder.

I seem to recall coming across something that said Apache needs to be made aware of other folders that a cgi script would be able to run from. Ring any bells? I thought that any folder called cgi-bin would automatically be recognised by Apache...

Thanks for any help you can offer.
 

jimr

McInstigator
please have a careful read of your http.conf file.

the cgi-bin that is recognized "automatically" is due to the following....

<hr><b><code>
&lt;IfModule mod_alias.c&gt;

#
# Note that if you include a trailing / on fakename then the server will
# require it to be present in the URL. So "/icons" isn't aliased in this
# example, only "/icons/"..
#
Alias /icons/ "/usr/share/httpd/icons/"

&lt;Directory "/usr/share/httpd/icons"&gt;
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
&lt;/Directory&gt;

#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/Library/WebServer/CGI-Executables/"

#
# "/Library/WebServer/CGI-Executables" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
&lt;Directory "/Library/WebServer/CGI-Executables"&gt;
AllowOverride None
Options None
Order allow,deny
Allow from all
&lt;/Directory&gt;

&lt;/IfModule&gt;
# End of aliases.
</code></b><hr>

so you see ...without mod_alias and without this line nothing is "automatic".

you will have to set a new alias for the one in your sites folder , or you will have to
alter this entry so your cgi-bin directory is other than the "default" for the OSX layout.
<b> there is an <u>on-line</u> APACHE manual</b>
The "power" of the Apache server is in the configurability. You want automatic---use windows...of course then you "automatically" get what some other idiot wants....

the <b>POWER OF MACINTOSH...be your own idiot!!!!</b>
 
Top