• ベストアンサー

KDDIのDIONのhtdocsディレクトリーについて納得できないのですが?

自分のPCでタグの手打ちでHPを作り、FFFTPでアップロードして、正常に表示されています。URLは↓の通りなのですが、疑問が残ります。 http://www.**.***.***/~trueno96/mini-skirt/mini-skirt_frame.html 最初に、FFFTPでupload した時にリモートホスト側に私のwebアカウントであるtrueno96は表示されず、cgi-bin と htdocsディレクトリーのみでした。それで、これはtrueno96ディレクトリーの中を見ているのだなと思い、 http://www.**.***.***/~trueno96/ の次に htdocs と入力して、 http://www.**.***.***/~trueno96/htdocs/mini-skirt/mini-skirt_frame.html とブラウザでURLを入力するとエラーになってしまいました。ローカルのmini-skirtフォルダーをリモートのhtdocsフォルダー内にupload したのに 1.なぜ?htdocsを記述するとエラーで、記述しないと正常に表示されるのでしょうか? 2.この疑問はどの程度のレベルですか?入門? 3.このhtdocsディレクトリーの意味とか役割はあるのでしょうか? 4. 上記3で役割等があるとして、その名前はありますか? 5.ひょっとして、企業秘密の類ですか? サポートに聞きましたが、納得のできる解答ではありませんでした。 以上ですが、皆様、宜しくお願いします。

  • HTML
  • 回答数3
  • ありがとう数5

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

  • ベストアンサー
回答No.3

ブラウザで見えているディレクトリみたいなものはサーバーの中とはちょっと異なります。FFFTPで表示されるのが実際のサーバーの中身です。ただし見えているのは各ユーザーに割り当てられた範囲だけです。 サーバーではApacheというWebサーバープログラムが動いていることが多いですが、htdocsというのはHTMLや画像ファイルなどを置くために初期状態で用意されている名前です。(強引に言ってしまうとWindowsで各ユーザーに "マイドキュメント" というファイル置き場が用意されているのと同じようなものです。) 各ユーザーのディレクトリにあるhtdocsを実際にWebページとして公開するような設定にしていると、 http://www.**.***.***/~trueno96/ このアドレスにアクセスして実際にサーバーの中で参照されるのは、 /usr/local/apache/users/trueno96/htdocs ここのファイルです。 http://www.**.***.***/~trueno96/htdocs/ にアクセスすると、 /usr/local/apache/users/trueno96/htdocs/htdocs が参照されることになります。なのでエラーになってしまいます。(ディレクトリはサーバーの構成によって全然違ったものになりますので、一例として考えてください。) htdocsはドキュメントルートと呼ばれる設定です。詳しく調べたければGoogleで apache htdocs ドキュメントルート などというキーワードで検索してみると解説しているページがたくさんあります。 この辺りは企業秘密ではないです。でも社外の人にあっさり教えたりすることも少ないと思います。 こういうところに興味を持っていろいろ調べたりすると、特に不思議に思わない人と比べていずれ知識に大きな差が出てきます。疑問としては最初の段階ですが、重要なきっかけみたいなものでもあります。でもこれが何かの役に立つかどうかとは別です(笑)。

参考URL:
http://www.google.co.jp/search?hl=ja&q=apache+htdocs+ドキュメントルート
breeze04
質問者

お礼

ありがとうございます

その他の回答 (2)

回答No.2

あらためてなんでと言われると説明に困るな^^; 「htdocs」というディレクトリ名や場所は、サーバー提供者側で自由に決める事ができます。 サーバーによっては必ずしも「htdocs」になっているとは限りません。 1.webサーバーでは、htdocs以下に置いたものしかインターネットで見られません、という指定がされています。「htdocsの中にある」という前提なので、URL表記では無視されます。 http://www.k3.**.***.***/~trueno96/htdocs/ とすると、htdocsの中にあるhtdocsという意味になっちゃいますよね。 なお、cgi-binは特殊なディレクトリで、「cgi-bin=~trueno96/cgi-bin」というルールが決められています。 なので、http://www.**.***.***/~trueno96/cgi-bin/となります。 htdocs直下にcgi-binを作ると、webサーバーがどっちやねんと混乱して、よくわからない動きになりますのでご注意ください。 2.理屈は別として、そういうルールなので覚えてね、という意味なら、どちらかといえば入門。 3.~trueno96が自分の自分専用のホームディレクトリで、その中にあるhtdocsがwebで見える公開ディレクトリです。 4.ドキュメントルートと言います。 5.企業秘密でもなんでもないです。webサーバーは通常フリーのApacheというソフトを利用する場合がおおいのですが、サーバーソフトのつくりがそうなっています。 ApacheをダウンロードしてPCにインストールする方法も、ネット上でたくさん読むことができます。

breeze04
質問者

お礼

ありがとうございます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

推測ですが、FFFTP で接続しているのは、自分のホームディレクトリであり、 そのなかにhtdocs , cgi-bin ディレクトリがある。 htdocs ディレクトリは http://www.**.***.***/~trueno96/ としてWeb上のルートディレクトリになっている。 サーバー上のディレクトリをどのように各ユーザーのWebルートディレクトリとするかは設定によります。

breeze04
質問者

お礼

ありがとうございます

関連するQ&A

  • HTMLのディレクトリの作り方がよくわからない・・

    アップロードしようとして、サーバーも用意して、 あとはffftpでアップロードするだけなんですけど、そのディレクトリの作り方がわかりません。 今のフォルダの構造は、 【第一階層】              【第二階層】 rootフォルダ------------------>cssフォルダ>CSS index.html                imagesフォルダ> imagesフォルダ>画像データ                                   pageフォルダ>画像データ です!!このままサーバー内に入れたのですが、うまく表示されません。 サーバー内のHTMLを見ると、構造が崩れているので、ディレクトリの作り方が 悪いのだと思うのですが、どのようにしたらよいでしょうか? なかなかディレクトリ構造の詳細が書かれたサイトが見あたらないため、こちらで ご教授願います。宜しくお願い致します。 ちなみにHTML作成は初心者なので、わかりやすい単語でお願いします。  

  • Apacheの設定方法を教えてください

    Apacheのルートディレクトリは、htdocsだと言う事は分かりました。 URLを叩けば、htdocs内のindex.htmlが開きますね。 そこで、htdocs内にサブドメインを複数用意した時、 htdocsフォルダの中にはサブドメイン名のフォルダだけが複数ある状態になりました。 そうすると、サブドメインを使用しないURL、 http://****.net/ とアクセスすれば、ブラウザにはそのフォルダ一覧が表示されます。 そうではなく、http://****.net/、http://www.****.net/とアクセスすれば、フォルダは表示されず、サブドメインとしていくつも作ったフォルダのうちどこか1つの中身が表示されるようにしたい。 どなたか設定例を教えてもらえませんか? よろしくお願いします。

  • Macのホームディレクトリを分散させるには

    MAC mini(2011)のスピードアップと容量増大をはかるため、 内蔵SSDの換装、及び内蔵HDDの増設を行いました SSDを『起動用』、追加したHDDを『データ用』に役割分担したいのですが、 ホームディレクトリの分割?をどの様にすれば良いのか要領を得ません 起動用SSD内にあるホームディレクトリから、任意のフォルダを内蔵HDDへ移動する方法を教えていただけないでしょうか 他のストレージへ移動しても良いフォルダ(データ)はどれなのか?すら解っていない素人ですのでよろしくお願いいたします

  • PHP 階層構造 維持 ディレクトリ

    現在指定したディレクトリを中にあるサブディレクトリやファイルを丸ごと階層構造を維持したまま圧縮したいのですが、うまくいきません下記のサイトを参考にしましたがエラーが出てしまいます。例外処理らしいのですが、ドキュメントを読んでもエラーの内容がうまく理解ができません よろしくお願いします。 http://php-archive.net/php/zip-directory/ エラー文 Fatal error: Uncaught Error: Call to undefined function zipDirectory() in C:\MAMP\htdocs\upload\upload-file.php:134 Stack trace: #0 {main} thrown in C:\MAMP\htdocs\upload\upload-file.php on line 134 コード define("file_zone","C:/MAMP/htdocs/upload/test/"); if(isset($_POST["download"])){ // 圧縮するディレクトリー $dir = dirname(__FILE__) . '/test/'; // Zipファイルの保存先 $file = dirname(__FILE__); zipDirectory($dir, $file); // ディレクトリを圧縮する function zipDirectory($dir, $file, $root=""){ $zip = new ZipArchive(); $res = $zip->open($file, ZipArchive::CREATE); if($res){ // $rootが指定されていればその名前のフォルダにファイルをまとめる if($root != "") { $zip->addEmptyDir($root); $root .= DIRECTORY_SEPARATOR; } $baseLen = mb_strlen($dir); $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator( $dir, FilesystemIterator::SKIP_DOTS |FilesystemIterator::KEY_AS_PATHNAME |FilesystemIterator::CURRENT_AS_FILEINFO ), RecursiveIteratorIterator::SELF_FIRST ); $list = array(); foreach($iterator as $pathname => $info){ $localpath = $root . mb_substr($pathname, $baseLen); if( $info->isFile() ){ $zip->addFile($pathname, $localpath); } else { $res = $zip->addEmptyDir($localpath); } } $zip->close(); } else { return false; } } }

    • ベストアンサー
    • PHP
  • Apacheの仮想ディレクトリ設定について

    質問があります。 windows2000serverにApacheを導入したのですが、実現したいことがあります。動作する範囲は社内のあるフロアのみなので、外から見えるということは考えていません。 今、C:\Oracle\ora90\Apache\Apache\htdocs配下にaaaというディレクトリがあります。この配下には、index.phpというファイルが入っています。このindex.phpは表示する際にユーザID、パスワードを入力するウィンドウが立ちあがります。 URLにhttp://サーバ名/aaa/index.phpとすると動作するのですが、これを http://サーバ名/aaa/とだけ入力して動作するようにしたいのです。 httpd.confファイルを編集すれば出来るということが解ったので、DocumentRootをC:\Oracle\ora90\Apache\Apache\htdocs\aaaとしてみました。DirectoryIndexにindex.phpを加えました。 そうするとhttp://サーバ名/と入力するだけでindex.phpが動作します。よく考えればそうですね。 次に、aliasの設定に掛かりました。 Alias /aaa/ "C:\Oracle\ora90\Apache\Apache\htdocs\aaa/" という記述を加えました。 これでもうまくいくません。 Apacheの再起動は記述を変更するたびに行っています。 同じような事をしたことのあるかた、記述例などを教えて頂けるとありがたです。 よろしくお願いします。

  • カレントディレクトリを指定する場合、"./"は必用でしょうか?

    以前から、プログラムを作成していく中で 疑問に思っていたのですが、プログラム内に カレントディレクトリを表す記述をする際、 "./"は必用でしょうか? 例えば、カレントディレクトリの"login.html"を 記述する際、"./login.html"と記述するべきか、 "login.html"と表示するべきか分かりません。 どちらでも同じ動作をするのですが、 「セキュリティ上、こっちの表記がよい」などが ありましたら、お教えください。 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • cgi-binのディレクトリの作成方法

    FFFTPを使っています。 アップしたいのですが、トップページは、index.htmlにして下さいとあり、これは 成功しました。 CGIもアップしたいのですが、「あなたのホームディレクトリにcgi-binという ディレクトリを作成してください。」とあり、この方法が分かりません。 作成の方法と、アップの方法を教えてください。 URLからの閲覧時には、まずトップページが表示さらますが、そこからCGIのページに移る方法も教えてください。 よろしくお願いします。

    • 締切済み
    • CGI
  • ディレクトリを指定してディレクトリ内部の更新日を表示

    ファイルではなくディレクトリを指定してディレクトリ内部の更新日をSSI等使用して表示する方法はありますか。 SSIでファイルの更新日を取得することはできますが、フォルダの指定しても正常に動作しません。 目的は掲示板などのログが保存されるフォルダを指定し、中の複数のログファイルのいずれかが更新された場合、一番新しい日時を他のページに表示させる方法です。 どなたか教えて頂ければ幸いです。

    • ベストアンサー
    • CGI
  • ファイル保存先ディレクトリとは?

    在宅業務研修中(初心者)です。作成した圧縮ファイルを先方に確認していただくために、マニュアルに従い、FFFTPでアップロードし、メールの本文にURLを記載し、自分でも確認しようと、自分のアドレスに送信したのですが、展開できず、指定されたファイルがありませんになります。ファイル保存先のディレクトリ間違いでしょうか?ファイルはデスクトップに保存していますが、、。FFFTPのpublic_htmlフォルダにアップロードした圧縮ファイルを右クリックするとちゃんと開けますが、、。よろしくおねがいします。研修中ですべて自分で調べなくてはいけなくて、技術的な質問に答えて頂けず、、。困っています。よろしくお願いします。m(_ _)m

  • .htaccessでのRewriteRuleが下層ディレクトリに効かない

    現在一番上の階層にドメインを適用しており、そこでwww有りと無しを統一する為、.htaccessに以下のように記述しています。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.example\.com)(:80)? RewriteRule ^(.*) http://example.com/$1 [R=301,L] これで、http://www.example.com/ は http://example.com へ、 下層ディレクトリの http://www.example.com/sample/ は http://example.com/sample/ と、 上記のようにリダイレクトしてくれますが、下層ディレクトリの中に掲示板スクリプトを設置しているものがありまして、 そのディレクトリ(/bbs)の中にも、スクリプトのURL書き換えの為のRewriteRuleを記述した.htaccessを設置しています。 ※このディレクトリ(/bbs)のRewriteRuleには、RewriteCond %{HTTP_HOST} は記述していません。 ここで困った事に、http://www.example.com/bbs/ にアクセスすると、そのままwwwが付いたURLがそのままアドレスバーに表示され、 www無し(http://example.com/bbs/)にリダイレクトしてくれません。 .htaccessを設置していない(RewriteRuleを記述していない)下層ディレクトリは、上層ディレクトリに記述しているRewriteRuleの継承をしてくれる為、http://example.com/sample/ のように表示(リダイレクト)されますが、上記の/bbs ディレクトリなどに対しても、上層のRewriteRule を引き継げる方法は無いでしょうか? 色々調べて、RewriteOptions inherit というのも見つけたのですが、/bbs ディレクトリの.htaccessに記述しても、 トップページ(http://example.com/)へリダイレクトされてしまい、どうすれば良いか悩んでおります。 環境は共用レンタルサーバで、 Apacheのバージョンは1.3.39 (Unix)。 httpd.confは自分では設定する事が出来ません。 上層ディレクトリのRewriteRuleを引き継げない場合、/bbs ディレクトリの.htaccessにはどのように記述すれば www無し(http://example.com/bbs/)になるのかでも勿論構いません。 もし良い方法がありましたらご教示頂けますと幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI

専門家に質問してみよう