-PR-
解決済み

POSTで送信するとエラーになる

  • 暇なときにでも
  • 質問No.99132
  • 閲覧数1663
  • ありがとう数2
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 81% (31/38)

 ボタンでHPに飛ばしているのですが、エラーになる場合があって困っています。

 コードは以下の通りです。
   <FORM action="http://www.xxx.yy.zz/" method="POST">
    <INPUT type="submit" value="HPへ">
   </FORM>

 指定したURLによってエラーになるところとならないところがあるのですが、これはサーバ内のどこの設定によるものなのでしょうか?
 (試しにgooやYahooを指定するとOKなのですが、googleやlycosはダメのようです。
 エラーの場合、「400 BadRequest」や「HTTP 405 - リソース未許可」などが出ます。
 しかもlycosでは、自社エラーページを表示しているのですが、どういう設定なのでしょう?)

 現行ではmethod="GET"としている(これなら上記エラーは出ない)のですが、これだとURLの後ろに「?」がついてしまって、これによってエラーになってしまうHPがまれにあって、これまた困っています。
 (JavaScriptは使用不可で、文字リンクもダメという方針なので、画像リンクしかないかなぁと思っているのですが。)

 もしJavaScriptも画像も使わずに、ボタンで、URLに?を出さない方法があったら、是非教えてください。
 (1番知りたいのは、↑これです)

以上よろしくお願い致します。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.5
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。

 POSTを、index.htmlに対して試してみました。

 結果は、
  The requested method POST is not allowed for the URL /index.html.
 という事で、察するに *.htmや、*.htmlに対しては POSTメソッドは門前払いという事になりそうです。 CGIに対してしかダメという事になりそうですね~。
 使用したサーバーは、Linux + Apache です。

 送信すべきデータがある/ない以前の問題でしたね(^^;
 今回のケースではPOSTメソッドは無理、という事になりそうですね。 少なくともApacheの設定で、「POSTを全てのケースで許可」というのはなかったと思います。 他のWWWサーバーで、HTMLに対してもPOSTを許可してくれるものがあればよいのですが(^^;

 参考になれば幸いです(..
お礼コメント
leaz024

お礼率 81% (31/38)

なるほど、やはりPOSTがいけないんですね。
まぁ遷移先のサーバの設定を変えられるハズもないので、大人しく画像リンクにすることにします。
いろいろ調べていただき、本当にありがとうございました。
投稿日時 - 2001-07-10 01:12:28
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。
 改善されるか分かりませんが...(^^;

<FORM action="http://www.xxx.yy.zz/index.html" method="POST">
  <INPUT type="submit" value="HPへ">
</FORM>

 というような感じで、ファイル名まで指定してみてはどうでしょう?
補足コメント
leaz024

お礼率 81% (31/38)

私もそうかなと思い、以前やってみたのですが、だめでした。
投稿日時 - 2001-07-04 16:28:37


  • 回答No.2
レベル12

ベストアンサー率 45% (210/459)

こんにちは。itohhといいます。

まずはじめに。
他社のHPに勝手に、POSTやGETで飛ぶのは、止めてください。
最悪の場合、そのHPのWebサーバが停止してしまいますよ。
まー、TOPページなら大丈夫ですかねぇ。でも、わたしのHPには、勘弁してってとこです。

やりたいことがいまいちわからないのですが、
もし、他のHPへのリンクでしたら、
<a href="http://www.xxxxxxx.ne.jp/">あいうえおホームページ
とするのが、一般的だと思います。
(これのことを、文字リンクと言っているのでしょうか?)

画像リンクなら
<a href="http://www.xxxxxxx.ne.jp/">
<img src="yyyyy.gif"></a>
といったところでしょうか?
補足コメント
leaz024

お礼率 81% (31/38)

 すみません、自社サイトに登録しているユーザが作成した掲示板から、その人のHPに飛ばすボタンの処理で困っています。
 このようなエラーが出る事を最近聞かされて、何でだろうと思って2,3度試した次第です。これからは安易に他社HPに飛ばすのは辞めます。

 文字リンクについてですが、通常のリンクを画像リンクと区別するためにこういう言い方をしたものです。ですので、この方法は使えません。
 画像リンクなら全ての問題が解決するのは分かっているのですが、一応「ボタンでもできるのか?」「どういう設定のせいで起きるものなのか?」が聞けたらなぁと思って質問してみたのです。何かお分かりになりませんか?
投稿日時 - 2001-07-04 22:38:51
  • 回答No.3
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。
 先ほどの私の方法でダメとなると、これしかないかもしれません。

<FORM>
<input type=button value="HPへ" onclick='location.href="http://www.foo.co.jp/">
</FORM>

 JavaScriptとなってしまいますが...(^^;
 参考になれば幸いです(.. 
補足コメント
leaz024

お礼率 81% (31/38)

 一応その辺は専門なので分かるのですが、何十万もユーザーがいると、うかつに「JavaScriptでしか遷移できない」というものは作れないんですよ。とほほ・・・
投稿日時 - 2001-07-05 00:23:33
  • 回答No.4
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。

 なるほど、そのような理由で JavaScriptがダメだったのですね。

 かなり強引で美しくない方法(笑)ですが、こんな事考えてみました。

 <FORM action="http://www.xxx.yy.zz/jump.cgi" method="GET">
  <INPUT type="submit" value="HPへ">
 </FORM>

 この jump.cgi は、目的のページ(HPのURL)への location: を吐き出すだけです。
 これなら間違いないでしょう。


 ・・・それと今ふと気づいたのですが、ひょっとして POST出来ないのは、
 送信すべきデータがないからではないのでしょうか?

 <FORM action="http://www.xxx.yy.zz/" method="POST">
  <INPUT name="dummy" type="hidden" value="dummy">
  <INPUT type="submit" value="HPへ">
 </FORM>

 あくまで推測ですが。 時間がなくてこちらでは試せていません(^^;スイマセン

 参考になれば幸いです(..
補足コメント
leaz024

お礼率 81% (31/38)

遅くなって、すみません。
ダミーのデータは前に試したのですが、やっぱりダメでした。

Location: を使うというのは思いつきませんでしたが、リンクで軽く飛べるものを、わざわざCGIにするというのは、多分社内では通らないでしょうね。

やっぱりHTMLのみでは、難しそうですね。

あと、このPOSTだと拒否(?)する設定っていうのが、どのようにされているのか分かる方、いませんか?
投稿日時 - 2001-07-06 13:56:14
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ