ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.4140168 HP製作 自分のパソコン内で相対パスが無視される
質問者:yumiyumik 助けてください、お願いします。
学校でHPづくりを習っています。発表が近いので焦っていますが担当の講師がずっと休みなのでこちらで相談させてください。

HPをつくっています。
index.htmlが最初のページです。そこから各フォルダがあり、各フォルダの中にまたindex.htmlがはいっています。
たとえばトップページからメニューフォルダーの中のメニューぺージへのリンクは下のいずれかでOKだと思います。
menu/index.html
/menu/index.html
./menu/index.html
あちこちネットで資料を探すといろんなことを書いていて、どれがいいのかわからないのですけど、どれでもリンクはいけるはず。ですよね?
実際に家のパソコンでは
./menu/
と記述すれば、メニューフォルダー内のindex.htmlのページへ飛べました。
ところが学校のパソコンでは、リンクへとべません。
環境はWindowsのxp sp3、IE7
IE6でも同じです(スタンドアローンです)
IEでは、なぜかリンクとしてではなくフォルダを開いてindex.htmlファイルを表示してしまうのです。IEとしてネットをみるときの状態からいきなり、Windowasパソコンでファイルやフォルダをみるときの状態になってしまう。リンクとしてページを開いてくれません。
safari3では「“”を表示する適切なアクセス許可がありません。」とエラーがでます。
なにが問題なのでしょう?
どうすれば解決できるのでしょう?
トップページをIEのうえにドラッグして開くからでしょうか?(家ではサーバー環境でちゃんとしたURLからトップを開いています)学校ではとくにそういう指示がなかったのでみんなもマイドキュやデスクトップにHPのデータをおいてると思うのですけど。
アドバイスお願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/06/30 10:06
最新から表示回答順に表示

回答

ANo.4 index.htmlの下層にページを作るのに/menu/index.htmlを沢山作らなくても
そのページ独特の名前を考えれば良いのです?、それ相当の良い名前(ネーム)があるでしょう。
回答者:Ace1
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/06/30 14:51
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼おっしゃるとおりです。
ありがとうございました。

回答

ANo.3 #1です。お礼ありがとうございます。

> これは環境の問題だからどうしようもないのでしょうか。。。
これはどうしようもできないといったものになります。
HTTPサーバーが動作しているPCであれば、HTTPサーバーがindex.htmもしくはindex.htmlなどフォルダ直下にあるファイルを探しに行くオプションが用意されています。
このオプションでindex.htmlなどのファイルを読み出すことができます。

IEではこのような指定(オプション)はありませんので、フォルダを指定したパスであればフォルダの中身を表示するようになりますよ。

インターネット上のファイルのようにきちんと表示させたいのであれば、HTTPサーバーをインストールするしかないかと思います。

ちなみに、、、#2さんが書かれたindex.htmlを置いた下層フォルダにindex.htmlを置かないなんていうのは基本的にしません。逆にすべてのフォルダにindex.htmlを置いておかないと、フォルダの中身がすべてさらけ出されてしまうといったページになってしまいます。
※フォルダ内にindex.htmlを置かないと、開くファイルがないと判断し、HTTPサーバーの設定によってはファイルリストを表示する画面になることがありますので、見せたくないファイルを置いていても簡単に見られてしまいます。
わざとindexを置かずにリスト表示させる場合もありますがね。
回答者:shippo
種類:回答
どんな人:一般人
自信:自信あり
回答日時:
08/06/30 14:51
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼重ねてのご回答ありがとうございました、
>#2さんが書かれたindex.htmlを置いた下層フォルダにindex.htmlを置かないなんていうのは基本的にしません。
そうだったんですね〜
サーバーのこととかもまったくわかっていませんでしたし、勉強になりました。ありがとうございました。

回答

ANo.2 ホームページを作成する場合、indexの下層階にindexファイルを置くからエラーが出るのです。
index.html(あるいはindex.htm)のファイルは、一つのホームページで一つだけです。
回答者:xxi-chanxx
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
08/06/30 12:27
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼index.html(あるいはindex.htm)のファイルは、一つのホームページで一つだけというのは決まりごとなのですか?
プロの方のサイトでindexの下層階にたくさんのディレクトリをおいて、それぞれにindexファイルを作ってるのをみかけてまねしたんですが。
パスもシンプルで美しいし、いいなぁと思ってました。

回答ありがとうございました。

回答

ANo.1 httpサーバーが動作していないパソコンではないですか?
index.htmlが開けるようになるには、index.htmlファイルがデフォルトで開くように設定されたHTTPサーバーが必要です。
IEの中で「./menu/」だけで開こうとしても、リンク先のフォルダ(ファイル)が表示されてしまうのはあたりまえだと思いますよ。

サーバー動作でない場合であれば、「./menu/index.html」のようにファイル名まで指定しなければファイルは開けないと思います。
回答者:shippo
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
08/06/30 10:18
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼おっしゃるとおりでした。
フォルダの中のindex.html は、フォルダさえ指定すれば開くものだと思い込んでいましたが、勘違いだったのですね。。。。
./menu/index.html
まで指定すればちゃんとページとして開きました。これは環境の問題だからどうしようもないのでしょうか。。。

アドバイスありがとうございました。
最新から表示回答順に表示