• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:あるURLがファイルなのかディレクトリなのかが知りたい)

URLのリンク先がファイルかディレクトリか、どのように判断すれば良いですか?

このQ&Aのポイント
  • あるURLのリンク先がファイルかディレクトリかを判断する方法を教えてください。
  • URLのリンク先がファイルかディレクトリかを正確に判断する方法についてお聞きしたいです。
  • URLのリンク先がファイルかディレクトリかを判定するためのプログラムについて教えてください。

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

  • ベストアンサー
  • racci
  • ベストアンサー率64% (9/14)
回答No.1

>例えば、指定したURLが「​http://www.foobar.jp/xxx​」、 >取得したリンクが「yyy/zzz」のような場合、 >出力すべきフルパスは以下の2種類が考えられますが... >http://www.foobar.jp/xxx/yyy/zzz​ >http://www.foobar.jp/yyy/zzzhttp://www.foobar.jp/xxx がもしディレクトリの場合、 Webサーバは通常 http://www.foobar.jp/xxx/ にリダイレクトします。 リダイレクトした場合には、http://www.foobar.jp/xxx/yyy/zzz を フルパスとするのが正解です。 リダイレクトしない場合は、xxx がファイルであるとみなして、 http://www.foobar.jp/yyy/zzz をフルパスとするのが正解です。 ただし、リンクのフルパスを得るには、BASEタグを読む必要があります。 例えば、http://www.foobar.jp/xxx/index.htmlのHTMLに、 <BASE href="/QQQ/">と書いてあった場合、 <A href="xxx/yyy.html">link</A>のリンク先は、 http://www.foobar.jp/QQQ/xxx/yyy.html になります。

ggandt
質問者

お礼

ありがとうございました。 リダイレクトするというのは知りませんでした。またBASEタグの件もおっしゃるとおりですね。 LWP::UserAgentを利用してページを取得するので、ヘッダの情報なども参照すればうまく処理できそうです。

関連するQ&A