ボタンで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番知りたいのは、↑これです)

以上よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんにちは、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を許可してくれるものがあればよいのですが(^^;

 参考になれば幸いです(..
    • good
    • 1
この回答へのお礼

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

お礼日時:2001/07/10 01:12

こんにちは、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>

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

 参考になれば幸いです(..

この回答への補足

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

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

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

あと、このPOSTだと拒否(?)する設定っていうのが、どのようにされているのか分かる方、いませんか?

補足日時:2001/07/06 13:56
    • good
    • 0

こんにちは、honiyonです。


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

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

 JavaScriptとなってしまいますが...(^^;
 参考になれば幸いです(.. 

この回答への補足

 一応その辺は専門なので分かるのですが、何十万もユーザーがいると、うかつに「JavaScriptでしか遷移できない」というものは作れないんですよ。とほほ・・・

補足日時:2001/07/05 00:23
    • good
    • 0

こんにちは。

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>
といったところでしょうか?

この回答への補足

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

 文字リンクについてですが、通常のリンクを画像リンクと区別するためにこういう言い方をしたものです。ですので、この方法は使えません。
 画像リンクなら全ての問題が解決するのは分かっているのですが、一応「ボタンでもできるのか?」「どういう設定のせいで起きるものなのか?」が聞けたらなぁと思って質問してみたのです。何かお分かりになりませんか?

補足日時:2001/07/04 22:38
    • good
    • 0

こんにちは、honiyonです。


 改善されるか分かりませんが...(^^;

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

 というような感じで、ファイル名まで指定してみてはどうでしょう?

この回答への補足

私もそうかなと思い、以前やってみたのですが、だめでした。

補足日時:2001/07/04 16:28
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qこのホ-ムペ-ジでの質問一覧画面がエラーで出ない

このホ-ムペ-ジですが
マイページ → 関心カテゴリーの質問一覧
を押してもエラ画面ーになり表示出てきません
自分の質問解答履歴は出ます
なぜエラーに ???
宜しくお願い致します

Aベストアンサー

エラーが続出していますね。
更新ボタンを押すと表示されることが多いです。

Q
の場所は?

CGIでデータを受け渡しするアンケートを作っています。html中に書く<form method=post action="***.cgi">~</form>“~”の場所についてですが質問項目を全て挟まなくてはいけませんか?実は、チェックボックスの「最大2つまで回答可」という部分をJavascriptでチェック個数を超えてチェックした時点でアラートが出るようにしてます。その記述中にすでに<form>~</form>タグを制限をかけたい質問に置いているので、質問全体を<form method=post action="***.cgi">~</form>でくくると入れ子になってしまいます。大丈夫ですか?

Aベストアンサー

<form method=post action="***.cgi" name="form1">~</form>
にする。つまり「最大2つまで回答可」という部分だけをonclickでJavascriptを呼び出したらいいと思います。

Qホームページビルダー11で通信エラー(エラーコード:553)がサイト転送時に出ます。

 こんにちは。ホームページビルダー11でサイト転送すると通信エラ
ー(エラーコード:553)が出て、フレーム表示のページも表示され
ていない状態になってしまいます。どうしたらよいですか?

Aベストアンサー

こちらがご参考になるかと

V11 で転送時に「転送エラー」ダイアログが表示されます
http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

FTPのエラーメッセージの553ですと、「ファイル名の文法エラー、ファイル名が間違っているため実行できない」という意味ですので
この場合、大抵はファイル名に半角英数以外を使用しているのが原因トモ考えられますので、ご確認を。
ファイル名に使用できるのは半角英数と_-のみです。

ただ、どうもV11の不具合でもあるようですので、ファイル名に問題がない時は、サイト転送ではなくページ転送(FTP)や、フリーソフトのFFFTPなどを使って転送してみた後、ネット上で表示されるかどうか確認するのをおすすめします。

また、後日V11の修正ファイルがIBMで配布されると思いますので、たまに下記サイトをアクセスし、修正ファイルが公開されたらインストールされておかれてください。
http://www-06.ibm.com/jp/software/internet/hpb/

参考URL:http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

こちらがご参考になるかと

V11 で転送時に「転送エラー」ダイアログが表示されます
http://www-06.ibm.com/jp/domino01/swhc/esupport.nsf/key/49256A6A0001F136492572350006E350?opendocument

FTPのエラーメッセージの553ですと、「ファイル名の文法エラー、ファイル名が間違っているため実行できない」という意味ですので
この場合、大抵はファイル名に半角英数以外を使用しているのが原因トモ考えられますので、ご確認を。
ファイル名に使用できるのは半角英数と_-のみです。

ただ、どうもV11の不...続きを読む

Q[返信]

夜分にすみません。
[~]の鍵括弧はどういう言語なのでしょうか?
htmlの辞書に載っていませんでした・・。

Aベストアンサー

ブラウザで見ると
[返信]
って感じになり「返信」のトコだけ下線付きのリンクになります。
「[」と「]」は単なる文字ですよ(笑)

QWindows1032bitアップデート中にエラーが出ました。second-boot フェーズでエラ

Windows1032bitアップデート中にエラーが出ました。second-boot フェーズでエラーが出ました!全く意味がわかりません?

Aベストアンサー

windows10、windows10anniversary Updateに失敗をする場合は、
タスクトレイを開いてタブのスタートアップを開いて、すべてのアプリを無効にします。
次にもサービスを開いて、Microsoftの製品をすべて無効にします。

windows10 Creators Updateに失敗をする原因
http://freesoft.tvbok.com/win10/problems/trouble_shoot_list_creators_update.html

私のプロフィールにwindowsに関するURLを載せているので、必要な時にURLを開いて操作方法を確認してください。

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

QC#でテキストボックスとスクロールバーをバインディングしていて、更にエラープロバイダーをセットしエラ

C#でテキストボックスとスクロールバーをバインディングしていて、更にエラープロバイダーをセットしエラーメッセージが出るようになっていてe.cancel=trueを書いています。

やりたいことは、テキストボックス空欄でタブを押下したときにエラーメッセージがでてe.cancel=trueが反応し動作できなくなることです。

現在、テキストボックス空欄でタブを押したときにエラーメッセージは出ますがe.cancel=trueが反応せず、テキストボックス内が空欄→0になり進んでしまいます。
ちなみにバインディングしているスクロールバーの最小値は0に設定しています。

是非ともご教授お願いします(._.)

Aベストアンサー

通常、TextBox内でTabを押下した時、次のコントロールへフォーカスが遷移しますが、遷移しない場合もあります。
(次のコントロールとして認識されるものがない場合もあり得る)

そのため、Tabの制御をValidatingイベントで実装することは非現実的です。

Tab制御を問題視しているのか、Validatingイベントの制御を問題視しているのかがよくわかりません。

以下のようにした場合、フォーカス遷移が行われる際に必ずキャンセルされます。
それはTabキー押下に限った話ではありません。
private void textBox1_Validating(object sender, CancelEventArgs e)
{
errorProvider1.SetError(textBox1, "hoge");
e.Cancel = true;
}

Tabキーの話をしているのならば、PreviewKeyDownイベントで実装し、Tabを入力キーとしてしまって、フォーカス遷移を行わないようにできます。
が、TabがWindowsの仕様と異なることになります。
当たり前ですが、色々制御した結果、ヨシとした場合、それによってフォーカスが遷移するならば、Validatingイベントも走行しますので。
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Tab)
{
errorProvider1.SetError(textBox1, "hoge");
e.IsInputKey = true;
}
}

通常、TextBox内でTabを押下した時、次のコントロールへフォーカスが遷移しますが、遷移しない場合もあります。
(次のコントロールとして認識されるものがない場合もあり得る)

そのため、Tabの制御をValidatingイベントで実装することは非現実的です。

Tab制御を問題視しているのか、Validatingイベントの制御を問題視しているのかがよくわかりません。

以下のようにした場合、フォーカス遷移が行われる際に必ずキャンセルされます。
それはTabキー押下に限った話ではありません。
private void textBo...続きを読む

Q ではなく普通のリンクで cgi を起動する方法

検索結果が多い時に、結果を1つのページに最大で10個表示させて
複数のページにわけたいと思います。 Submit ボタンではなく

1 2 3 4 5

のようなリンクから cgi を起動したいのですが、
アドバイス頂けますでしょうか?

search?value=10

のようにして $_GET から受け取る方法もありますが、
出来れば POST を使いたいと思います。

Aベストアンサー

<a href="javascript:jumpmenu()">1</a>
<a href="javascript:jumpmenu()">2</a>
<a href="javascript:jumpmenu()">3</a>
<a href="javascript:jumpmenu()">4</a>
<a href="javascript:jumpmenu()">5</a>
として、jumpmenu()で、処理の最後に"submit();"を実行すれば
POSTできます。

QW-ZERO3 ESの通信エラー

最近、メールの受信が出来なく、手動で受信をかけてもエラ
ーが出る事があります。もちろん、電波状況は良好です。
一度エラーが起きると、メールの受信もネットもできなくなります。
今の所、電池をいったん抜いたら、通信ができるようになりますが、根本的な解決になっていない状態です。同様の障害の復旧方法をご存知の方がおられましたらお願いします。

Aベストアンサー

データバックアップ後、フルリセット
電池裏のリセットおし、Fn+Fキー同時押し&電源ボタン

Qレンタルサーバーで を吐き出そうとしたのですが、禁止なのですか

CGIの勉強をしているものです。

激安サーバーを借りて自作CGIを置いてみました。
HelloWorld的なCGIのレスポンスが返ってくることまでは確認できました。
実験したのはPythonですが、言語は関係ないと考えています。
サーバーはたぶん Linux + apache だと思うのですが、レンタルサーバー会社が情報を公開していないっぽくて、今のところハッキリ分りません。
(perl・RUBY・Python 2.3.4に対応!と謳っているサーバーです)


【現象】
実験的に、
<base href="http://XXX.co.jp">
のようなレスポンスを返すようにしてみたところ、この行の出力部分以降が無視されてしまいました。
(XXX.co.jpの部分は、実際には有効なドメインです)
試しに単なるHTMLファイル内に
<base href="http://XXX.co.jp">
を書いてみたら、その部分だけ、除去された形のHTMLが返ってきました。


【質問】
質問点は次の2点です。

1.レンタルサーバーではこのようなことはあたりまえなのでしょうか。
2.もしサーバー側の制限であれば、そのような制限のないレンタルサーバーはないでしょうか。


【蛇足】
勉強のために Python で組んでみたのですが、漫然と勉強をしていても上達しないので、なにか実用的で簡単なものを作ろうと思い、<base ... > 機能を使った自作CGIを作ってみました。
が、結果的に制限されているのであれば、多少高くても、使えるところを探して乗り換えたいと考えているような状況です。

※当該サーバー管理会社に質問すべきかもしれませんが、激安サーバーのため、技術的な質問は一切受け付けないとのことで、こちらでご存知のかたらいらっしゃればと思い、質問させていただきました。

CGIの勉強をしているものです。

激安サーバーを借りて自作CGIを置いてみました。
HelloWorld的なCGIのレスポンスが返ってくることまでは確認できました。
実験したのはPythonですが、言語は関係ないと考えています。
サーバーはたぶん Linux + apache だと思うのですが、レンタルサーバー会社が情報を公開していないっぽくて、今のところハッキリ分りません。
(perl・RUBY・Python 2.3.4に対応!と謳っているサーバーです)


【現象】
実験的に、
<base href="http://XXX.co.jp">
のようなレスポン...続きを読む

Aベストアンサー

Version 1.5.3
・BASEタグが利用できない携帯電話対策としてBASEタグを利用しないモードを追加
http://www.yumemaboroshi.net/cgi236/

base タグが使えない条件があるなんて知りませんでした。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報