- - PR -
リンク切れ、アクセス拒否のコード側での判定
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-13 13:50
てぃろです。
いつも参考にさせていただいております。 ご存知の方おられましたら教えてください。 ASP.NET C# で開発を行っております。 やりたい事: webページでURLのハイパーリンクをクリックした時、 リンク切れや、URLが間違っているなどで、 リンク先が存在しない場合の処理をしたい。 できれば、権限がない場合アクセス拒否となるので、 リンク切れの処理とは別の処理を行いたい。 どちらのエラーが判別できない場合はかまいません。 今の状況 : ASP.NETのコントロール(リンクボタン)ではなく、 HTMLのタグでリンクを張っています。これはどちらでもかまいません。 リンク先が無効な場合はただ単純に「404エラー」が発生する状況です。 IIS側で別ページに飛ばすのは可能と思われますが、 IISの設定に依存するので、コード側で事前に「URL有効チェック」 のようなものがあれば・・と考えています。。 いろいろ調べてみたのですが、なかなか参考になるものが見当たりません。 ツール化されているものは見つかりますが、コードの書き方がわかりません。 ご存知の方おられましたら教えていただけないでしょうか。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2007-07-13 14:39
HTTP 404 エラーに対応した ASP.NET のリダイレクタ作成 [codezine.jp]
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2007-07-13 15:36
TO じゃんぬねっとさん:
早速のお返事ありがとうございます。 リンク先のページ参照いたしました。 ここで紹介されているというのは、 「Webページを開く時のエラーコードによって ASP.NETで開発した指定したページに自動でリダイレクトができる。 処理はそのページに記述すればよい」 という認識でよろしいでしょうか。 やはりIISの設定は必須ということですね。 コードだけでは不可能ということですね。 ただ単純に、リンクをクリックしたときにページがなかった場合、 ダイアログ(Javascriptかなにか)で簡単にメッセージを出せれば・・ と思っておりました。 教えていただいた方法でいろいろ試してみます。 どうもありがとうございました。 | ||||||||
|
投稿日時: 2007-07-13 17:39
| ||||||||
|
投稿日時: 2007-07-13 18:40
べるさんお返事ありがとうございます。
Application_BeginRequestですか。ちょっとしらべてみますね。 あと、前にじゃんぬねっとさんのお返事で、紹介していただいたサイトの方法は ASP.NET2.0 なんですね・・。 私の環境はFramework1.1なので、対応していないみたいです。 ジェネリックハンドラファイル(.ashx)という概念すらないようです。 私の環境紹介の記載ミスでした・・(ToT) 申し訳ありませんでした。 もう少し調べてみます。 べるさん、じゃんぬねっとさんありがとうございました。 | ||||||||
|
投稿日時: 2007-07-13 19:06
ashxは1.1でも使えますよ。
VS.NETのサポートはありませんし、ドキュメントにも書いてありませんが、間違いなく使えます。 なお、リンク先として考えているのは自分が作っているサイト内だけなのでしょうか? それならじゃんぬさんやべるさんが書いている方法が使えますが、もし外部の サイトへのリンクも含めるのであれば、これは対応のしようがありませんです。 | ||||||||
|
投稿日時: 2007-07-14 00:07
発想の転換…という程大した事じゃないですが、リンクを出力する際にリンク先にリクエストして(もちろんサーバー側の話) HTTP ステータスを判断し、ステータスに応じてリンクを出力したりしなかったりすれば良いです。または Javascript でダイアログを出力したいそうですから、Javascript を出力したりすれば良いです。
_________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2007-07-14 03:21
うーん、どうでしょう、これっていろんな面でなかなか難しいと思いますよ。 |