Forum/パソコン・インターネット:ホームページ作成質問箱


タイトル  :RE^7 ローカル階層構造(相対パス)をFTPでアップ《失敗編》
発言者   :和香
発言日付  :1998-06-16 13:41
発言番号  :1346 ( 最大発言番号 :3965 )
発言リンク:1342 番へのコメント

> ☆ サーバー上にあるフォルダ名に、日本語を使っている場合、Internet Explorer 3.02 はこのサーバー上のリンクを跳ぶのかもしれない。(他のブラウザは跳べるのか)。(外部リンクから跳ぶ場合と、HP内の相対パスで跳ぶ場合と違いがあるのか)。

 和香です。こんにちは。

 上記の疑問(#1342最下段)を確かめるために、テストその3をしました。
 FTPで私の、フォルダ「test02」(相対パスで繋がる6ファイル在中)を、アップしてみることにしました。
 この中に、サブフォルダ「日本語」がありますので、このサブフォルダ「日本語」の中にあるファイル「004.htm」への相対パスは、また、このファイル「004.htm」から他への相対パスは、サーバー上で有効かどうか。ローカル環境で試した結果と同じなのかどうか。これをブラウザ別に確かめてみたいというのが目的でした。

○ test02 の階層構造
 ※ 前々回(#1334)に掲載したものと、第1層フォルダ名以外は同じです。
 ※ ローカル環境にあるこの階層構造を、サーバー上にそのまま移します。
 ※[  ]で囲ったものがフォルダ。 .htm の付いているものがファイルです。
 ※ リンクは、ファイルごとに5個、6ファイル相互間で全30個張ってあります。

  第1層   第2層  第3層   第4層

 [test02]→ 000.htm

      →[aaa] → 001.htm
           
           →[bbb]  → 002.htm

           →[日本語]→ 004.htm 

      →[0987654321abcdefghijklmnopqrstuvwxyz]

           → 003.htm

           → 日本語.htm
 以下が結果です。


【 ローカル階層構造管理(相対パス)HPファイルをFTPでアップ 】

1) FTPでアップするのは初めての経験ですので、[ Just Netトップページ]→[会員のホームページ]→[FTPでアップ]まで行って、ここで説明を読みました。
 FTPとは、ファイル転送プロトコル(File Transfer Protocol)の略で、インターネットでファイルを転送する方法です。 また、一般にそれを実行する際のプログラムの名前としても使われています。
 冒頭の記述によれば、こういうものなのだそうです。
2) 私は現在一太郎プレミアムを持っています。私が使えるFTPソフトは、 「JustView3.x FTP ウィンドウ(office8に搭載)」であろうと目星をつけ、以下に跳びました。
  JustView3.x FTPウィンドウの場合 
 後の手順は、おおむねは、↑ ここの説明にあるとおり進めたと思ってください。(実際は何度か間違えてやり直しました)

3) さて、手順は進んで、サーバー用と、ハードディスク用(私の場合はD)の二つのウィンドウを並べました。
 私のDドライブ下にあるフォルダ test02 をそのままの形で、サーバー側のフォルダ public_html にコピー&ペーストすればいいのだな、と始めました。
4) 麦穂さんの説明にあった、フォルダごとコピーというのをやってみようとしたのですが、慣れないせいかうまくいかなかったので、
 サーバー側に新しくフォルダを作り、手書きで名前「test02」を入れました。ここの中へ、000.htmをコピー&ペースト。問題無しです。以下、他のフォルダについても、こつこつとこの作業を繰り返し、残すは、フォルダ「日本語」だけとなりました。

5) ここで、問題が起こりました。
 手書きでフォルダ「日本語」を作り、この中に、004.htm を入れたつもりだったのですが、どうも表示結果が違うのです。

 そもそも、私はフォルダ「日本語」を作っただけですから、このフォルダにはサブフォルダが入っているわけではありません。それなのに、「日本語」フォルダには+記号が付いている。
 このフォルダをダブルクリックしましたところ、下図にありますとおり、作った覚えのないフォルダがいくつもあらわれました。bin、dev、etc、public_html、usr などですが、これらは本来、もっと上の層で並んでいるべきサーバー側のフォルダ名のはずです。そちらを見ましたが、そちらはそちらでちゃんと並んでいました。
 しかも、私のフォルダ「日本語」の中にあらわれたこれら異常なフォルダには、みな+記号が付いていました。サブフォルダが入っているということです。私のファイル004.htm はどこに入ってしまったのかという興味もあって、ひとつひとつ開けていったのですが、出てくるのは、金太郎飴のように、bin、dev、etc、public_html、usr です。しかもこれらすべてにも、+記号が付いている。

      
  
画像が文章と重なるようなら、フォントを大きくしてみてください。
> Internet Explorer の皆様

6) 設定していないフォルダが無限増殖です。
 やばいと思って、フォルダ「日本語」を指定し、削除を選択しました。しかし、削除はされず、サーバーへ数分間もアクセスをし続けたあげくに、不正な処理ということで、アプリが強制終了となってしまいました。
 念のためPCから再起動し、再びこの画面まで行って、再びフォルダ「日本語」を削除しようとしましたが、全く同じ結果で、強制終了でした。

7) しばし、冷静になって、このフォルダを消す方法を考えたのですが、半角英数字のときはなんの問題もなかったのですから、日本語名のフォルダを作ったためにこういう異常現象がサーバー側で生じたのでは、というところからヒントを得て、
 ア) まず、フォルダ「日本語」を名前の変更で、「ccc」に直しました。可能でした。
 イ) すると、無限増殖していたフォルダが消え、一つだけの、中身にサブフォルダのない(つまり+記号の付いていない)フォルダ「ccc」に変わりました。
 ウ) この「ccc」フォルダを、あらためて、削除したところ、問題なく消えました。

 ☆ ほっとしました。

8) よって、日本語名のフォルダをサーバー上にアップできなかったので、予定したテストはできませんでした。

 以上です。



 ☆ もしかしたら、慣れない処理であったため、異常な手順を踏み、たまたま私の場合だけ、上記のような無限増殖があらわれたのかもしれません。
 しかし、こういうことが起こるということは、フォルダを日本語名でアップするというのは、どなたの場合でも(Just Net のサーバーの側に)無理があるという可能性もあります。
 検証は、とてもお願いできません。

 ☆ というわけで、
 とりあえずこれで、私のテスト関連は、区切りをつけたいと思いますが、
 「サーバー上にアップした日本語名フォルダの中のファイルは、ブラウザで読むことができるのか。できるブラウザとできないブラウザがあるのか。Internet Explorer 3.02 はどちらか」
 これらの疑問は残りました。
 イントラネットでやってみる、ということですかね? > hirookaさん


 おまけです。
 不完全なものですが、せっかくアップしたので、このページから、サーバー上で階層構造となった、今回の各テストファイルにリンクを張ってみました。


【 アップ後の状態 】

 ○ サーバー上にある階層構造ファイルへの外部リンク

    000  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/000.htm">000</A>

    001  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/aaa/001.htm">001</A>

    002  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/aaa/bbb/002.htm">002</A>

    003  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/0987654321abcdefghijklmnopqrstuvwxyz/003.htm">003</A>

    004  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/aaa/ccc/004.htm">004</A>

    日本語  
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A>
 ◇ 004.htm は、しょうがないので、フォルダ「日本語」としたいところを、フォルダ「ccc」という名前にしてこの中に納めてあります。もし、テストが成功していれば、下記のリンクを張りたかったのですが、上のような事情でかないませんでした。
  <A HREF="http://www2.justnet.ne.jp/~waka/test02/aaa/日本語/004.htm">004</A>
 ◇ 各ファイルは、サーバー上で、階層構造管理されています。前回#1342のテストの際とファイル名は同じですが、あちらは、フォルダ test02 と同位の層に並んでいるものです。つまりこのページからいけるファイル群よりも上の層にある別物と考えてください。
 ◇ 例によって、ここに戻るリンクは書いてありません。ご注意ください。



【 ブラウザによる検証 】

☆ 予測。

 O) このページからの外部リンクは、すべて繋がると思われます。#1342「 ローカル階層構造(相対パス)をファクトリーでアップ」そのままの結果ではないか。パスが多少長いか短いかの差ですから、Internet Explorer 3.02 は変わりなく、httpで始まる絶対パスの先にある日本語ファイル名にも跳べる。
 P) 004.htm は現状では半角英数字のフォルダに入っていますので、もう特別なものではなくなってしまいました。そこで、004.htm からさかのぼって他のファイルへと繋がる相対パスは、問題なく跳べるはずです。(日本語.htm へのリンクだけは例外、Internet Explorer 3.02 は跳べない)
 Q) しかし、004.htm へと向かう他のファイルからの相対パスは、すべてのブラウザで、跳ばないでしょう。004.htm がフォルダ「日本語」の中に入っているという前提でこれらのパスは全部書かれているのですから、当然でしょうね! (004.htm と同一フォルダ内のファイルもありませんし)
 R) もぐった先で、日本語.htm に跳べるかどうかですが、#1334「 ローカル階層構造リンクテスト(絶対パス、相対パス)」の、【 相対パス 】の場合、D)の f)〜 g) の結果と同じと思われます。
 すなわち、Internet Explorer 3.02 の場合は、同一フォルダに入っている003.htm からのリンクは繋がるが、他の4ファイルからのリンクは繋がらないはず。


☆ 結果です。

G) Just View 3.01 、Netscape Communicator 4.03
 予想通りでした。
 004.htm へと向かう他のファイルからのリンクは跳べませんでした。
 その他のリンクはすべて、繋がりました。

H) Internet Explorer 3.02
 またも、予想を外されました。
 004.htm へと向かう他のファイルからのリンクは跳べませんでした。
 その他のリンクはすべて、繋がりました。(日本語.htm へのリンクもすべて、跳びました)
 つまり、上の2ブラウザとなんら差はなく、サーバー上の階層構造相対パスを跳びました。


☆ 検討・・・

 ◇ しかし、Internet Explorer 3.02 はわからないブラウザですね!
 もしかしたら、「相対パス」というのは、私たちから見た見かけ上のものに過ぎないのかもしれない。つまり、ブラウザが、相対パスを絶対パスに翻訳して、リンクを跳んでいる。

 ◇
<A HREF="0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A><BR>
 とソースには書いてあっても、ブラウザはこれを、前後の関係から、
<A HREF="http://www2.justnet.ne.jp/~waka/test02/0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A><BR>
 と認識する。
 これは、httpで始まる絶対パスの先にある日本語名ファイルだから跳ぶ。
 (アドレスの窓にこう表示されるので、思い付いたのですが)

 ◇ では、ローカル環境ではどうか。
<A HREF="0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A><BR>
 という相対パスを、
<A HREF="file:///D:/test02/0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A><BR>
 と認識する。
 file で始まる絶対パスの先にある日本語名ファイルだから跳ばない。

 ◇ ローカル環境で、唯一跳ぶ、同一フォルダ内の日本語名ファイルへの場合。
<A HREF="日本語.htm">日本語</A><BR>
 と書かれているソースを、
<A HREF="file:///D:/test02/0987654321abcdefghijklmnopqrstuvwxyz/日本語.htm">日本語</A><BR>
 と認識する。
 file で始まる絶対パスの先にある日本語名ファイルであるのに、跳ぶ。
 これは説明が付かないですね。

 ◇ 以上は、仮説ですが、「バグ」ということなら、法則を考える方が間違いかもしれません。それに、私の作ったテスト用の階層構造はあまりに小規模で、すべての場合を検証できるつくりではないので、別のフォルダとファイルの関係ならば、また別の結果があるのかもしれません。

 ◇ サジを投げましょう!

     では、また。 ( ^ − ^ ) / 〜


 おまけ(その2)です。
 Internet Explorer 3.02 と、日本語ファイル名、日本語フォルダ名との関係をまとめておきます。
 以上紹介してきた、私のテスト環境による結果です。

【 Internet Explorer 3.02 と日本語名ファイルとの関係 】

 1)ローカル (#1334参照)
 1−1) 絶対パス(file で始まる絶対パス)
 日本語名ファイルへはすべての場合で跳ばない。
 1−2) 相対パス
 日本語名ファイルへは、原則として跳ばない。
 同一フォルダ内にある日本語名ファイルへの最短相対パスであれば、跳ぶ。
 ※ なぜかは、不明。

 2)サーバー上 (#1342、今回参照)
 2−1) そのファイルへの外部リンク(httpで始まる絶対パス)
 すべての場合で跳ぶ。(日本語名ファイルでも)
 ※ 自分のHPのサーバー上の形が、単一構造、階層構造どちらでも自分のHPとその上層を差別しないで考えれば同じことらしい。つまり、すべて階層構造と見なせる。
 2−2) 自分のHP内の、相対パス
 すべての場合で跳ぶ。(日本語名ファイルでも)
 ※ サーバー上では、単一構造でも階層構造でも、少なくともソース上は「相対パス」。
 ※ 「相対パス」は見かけ上で、実体は、httpで始まる「絶対パス」という仮説。裏付けは取れず。



【 Internet Explorer 3.02 と日本語名フォルダとの関係 】

 3) ローカル (#1334参照)
 3−1) 絶対パス
 日本語名フォルダの中にあるファイル(半角英数字名)へは跳べない。
 3−2) 相対パス
 日本語名フォルダの中にあるファイル(半角英数字名)へは他のフォルダの中にあるファイルから跳べない。
 日本語名フォルダの中にあるファイル(半角英数字名)から他のフォルダの中にあるファイルへも、跳べない。
 ※ リンク記載に、日本語名フォルダがあるなしに関わらない。実際にさかのぼるフォルダに、日本語名が付いていると跳ばないと思われる。
 ※ 日本語名フォルダの中にある、二つのファイル間ではどうか、ということは不明。この設定をしなかった。

 4)サーバー上 (今回参照)
 4−1) そのファイルへの外部リンク(httpで始まる絶対パス)
 4−2) 自分のHP内の、相対パス
 共に、日本語名フォルダを、サーバー上にアップできなかったので、検証できず。

 以上。


 
発言一覧