こんばんは。
お世話になっております。
以前、http://www.hoge.com/hoge のように、拡張子を打ちこまなくてもapacheの設定で該当するファイルにアクセスすることが出来るといったサイトを見たことがあるのですが、そこでちょっと困ったことがありまして、質問させて頂きます。
と申しますのも、フォームにて入力されたURLをポストで受け取り、そのURLのファイル内にある、同一ドメインのリンクの一覧を表示させるために各リンクを(相対パスや絶対パス共に)配列に格納しており、それを表示させ、かつアンカータグを貼りたいと思っているのですが、上記のように、拡張子の無いファイル名があった場合、どのようなアルゴリズム?になるのかお知恵を頂戴出来ればと質問させていただきました。
もう少し具体的にお話すると、
hoge
hoge/
hoge/index.html
./hoge
./hoge/
./hoge/index.html
../hoge
../hoge/
../hoge/index.html
このようなデータが配列にあった場合、一般的にはスラッシュで終わっていないものは、フォルダとしてサーバが認識すると思うのですが、それがフォルダではなくファイルを読み込むよう設定されていた場合の対処の仕方が分かりません。
以上、汎用的なものを作れればと思い、このようなことを想定して作っているのですが、拡張子のないURLでファイルにアクセスするというものを作ったことがないため、どのようにしたら良いのかが分かりません。お忙しい中恐縮ですが、宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
>> 拡張子の無いファイル名があった場合、どのようなアルゴリズム?になるのか
>> ファイルを読み込むよう設定されていた場合の対処の仕方が分かりません。
>> どのようにしたら良いのかが分かりません。
アルゴリズムや対処方法を質問するためには、
まず、“何をやりたいか”を説明しないと回答は得られにくいと思います。
拡張子が無く、かつ スラッシュで終わっていない場合に
ファイルなのかフォルダーなのかを判定したい。
という質問という解釈で良いのでしょうか
そうだとした場合、
URLだけでは判定はできませんので、アクセスして調べることになります。get_headers関数でアクセスして 帰ってきたヘッダーの先頭が「HTTP/1.1 301」などのように
300番台ならフォルダー
200番台ならファイル、
400番台なら無効
と判断すれば多くの場合は、合っていると思います。
rewriteなどが設定されている場合は、そうとは限りませんが・・
mpxさま
お世話になっております。
すみません。mpxさまからの回答に気づかずに今日まで来てしまいました。
ご親切な対応をありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- JavaScript ifreamをリロードしたい 1 2022/05/03 16:15
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLの一部をコピーできるブック...
-
c++プログラム。どこがだめか教...
-
HTTPSのとき":"が"%3A"ではなく...
-
functionから別のfunctionを実...
-
javascriptで自動計算フォーム...
-
日本語入力の禁止
-
関数でy=g(x)のgとは何の略です...
-
google apps scriptの終了のさせ方
-
空の配列に2次元配列の追加
-
第3日曜日のみの日付を取得、...
-
HTML:Tableタグに対し、JavaScr...
-
React hooksが値を返して配列変...
-
javaScript textareaの一行あた...
-
Javascriptで引数の参照渡しか...
-
innerHTML実行後のイベント
-
ActiveXobjectが作成できない
-
リンクボタンからインラインフ...
-
別窓を開いて、ページ下部中央...
-
CDの曲をケータイのSDに移す
-
択一形式のテストをつくりたいです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Boolean型配列中のTrueの有無を...
-
【正規表現】【javascript】CR...
-
ASP+アクセスでのSQLコメントに...
-
Linux バイナリ実行できない "...
-
Vb.netのグローバル変数の宣言...
-
ボタンをクリックすると数が増...
-
【Jquery】changeイベント毎にa...
-
正規表現で半角数字1桁のみを全...
-
「オブジェクトが必要です。」...
-
HTTPSのとき":"が"%3A"ではなく...
-
onclick指定関数の引数へローカ...
-
同じ型【ハイフンと数字】だけ...
-
Excel VBA の ChangeFileAccess
-
C# .NET DataGridView の行を追...
-
javascriptで文字挿入でtoggle...
-
ifreamをリロードしたい
-
window.onloadでのfunction
-
static constメンバ変数(配列)...
-
MFCのキャプション変更
-
アンカーリンクをクリックさせ...
おすすめ情報