• ベストアンサー

apacheで使用するのは/?¥?

apacheをwindows732bitで使用していますが、 httpd.confでDocumentRoot "C:/www/jisaba"と指定してやっても そのファイルは読んでくれず、¥(バックスラッシュが表示出来ない) を使用しC:\www\jisabaと入力するとapacheは指定されたHTMLを 読んでくれます。  多くのapacheサイトや本で使用されている区切りは「/」なのですが、 それだと私の環境だと指定されたHTMLファイルを読み込んでくれません。 いったい何が問題なのでしょうか?

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

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.1

>多くのapacheサイトや本で使用されている区切りは「/」なのですが、 >それだと私の環境だと指定されたHTMLファイルを読み込んでくれません。 >いったい何が問題なのでしょうか? 問題は「ファイルシステムが何か?」です。 ファイルシステムがWindowsで使用されているNTFSやFAT32なのであれば、パス区切り記号は「\」です。 ファイルシステムがLINUXやUNIXで使用されているExt4やXFSなのであれば、パス区切り記号は「/」です。 Windowsが動作しているパソコンで、ファイルを開く場合に「C:/Documents and Settings/UseName/My Documents/temp.txt」って指定しても開けると思いますか? 多くの本、多くのサイトは、UNIXやLINUXで動くapacheについて解説しています。 Windows7でapacheを動かす場合は「OS固有の記述」は「そのOSに合わせた記述」に変えないといけません。

RIOT1970
質問者

お礼

あと、補足させてください。 ではwebサイトのアドレスで、http://www.jisaba.net/のように「/」が使用されているのはどういう仕組みでwindowsは /を認識しているのでしょうか? 素朴な疑問ですが…

RIOT1970
質問者

補足

そうだったんですね。 大変良くわかりました。 では、私の場合windows7ですから、 apacheのデフォルトhttp.confの/ の付いた箇所は全て¥に置き換えなければ いけないのでしょうか?

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1621/5656)
回答No.2

>ではwebサイトのアドレスで、http://www.jisaba.net/のように「/」が使用されているのはどういう仕組みでwindowsは/を認識しているのでしょうか? ローカルのファイルシステムのパスと、urlを混同しちゃいけません。

関連するQ&A

  • windowsのapacheのhttpd.conf

    windowsのapacheのhttpd.confの書き方についての質問です。 通常windows(私は7です)にapacheをインストールすると httpd.confには DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と書かれていますが、前述の質問の回答で LINUXがOSの場合、スラッシュ→「?」は有効だが windowsがOSの場合バックスラッシュ→「\」に置き換えなければならない、 と私は解釈したのですが、 では、デフォルトの DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" でApacheが正常に稼働しているようなのですが、 これって/を使ってますよね? これって、windowsがOSの場合の\のルールに反しているのに、 localhostと入力すると、it worksのhtmlが参照されるのは何故なんでしょうか? そして これを"C:\www"とCドライブの直下に置くことが出来るみたいなんですが、 ドキュメントルートの変更で\を使っても私の環境下では DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と同じで、この中のhtmlは読んでしまうのは何故なんでしょうか? 長文、駄文、失礼いたしました。 何分超初心者の身なので、詳しい方は「?何いってやがんだ…質問の趣旨がわからん」 と思われるかもしれませんが、拙い表現になってしまうのはお許しください。

  • windows7へapache導入

    当方、超初心者です。 windows7、32bitにapache2.2をインストールしました。 多くのwindowsのapacheのhttpd.confの書き換えの サイトには パスの区切り記号に「/」を使っていますが、 これは「\」に置き換えなくては動かないんじゃないでしょうか? なぜwindows でapacheで「/」を使った説明をしてるか意味が分かりません。 同じくCGIの冒頭の#!C:/perl/bin/perlという欄は#!C:\perl\bin\perl と置き換えるべきなのしょうか?

  • Apache2.2 ネットワークドライブ

    Apache2.2を利用し、HTMLやperlを使てブラウザページを作成しているのですが、 Apacheのhttpd.confで示しているDocumentRoot以下のファイルについてはアクセスできるようなのですが、それ以上の階層のファイルへはアクセスできないのでしょうか? HTML内で下のように書いてネットワークドライブ(Y)へアクセスできるように したいです。 <A href="Y:/test.txt" target="_blank">FILE</A> ネットワークドライブ内のファイルへアクセスできるようにしたいのですが、 DocumentRootとは別のファイルや、ネットワークドライブ内にDocumentRootを設定することは できるのでしょうか? よろしくお願いします。

  • apacheの入ったフォルダを動かしたい

    apacheの入ったフォルダを動かしたい apacheの入ったフォルダを動かしたいのですが、うまくいきません。おそらく何かをしていないのだと思うのですが、一体どうすればいいのかわかりません。私が認識している、apacheの入ったフォルダを動かすために必要なことは、「(1)httpd.confの設定を変える。(2)ファイルを動かす。(3)apacheを再起動する。」です。しかしこれだとhttpd.confの参照先が移動前の位置になっていてうまく動きません。他のファイルも覗いてみたり、confフォルダの中のoriginalフォルダの中のhttpd.confも同様にいじってみたりしたのですが、よくわかりません。他に何をすればいいのでしょうか? apacheは2.2を使用しています

  • PHP使用時のアパッチ設定ファイル

    windows2000 にapache_2.0.44 をインストールしています。 ここにphp4.3.0をインストールしようとしています。インストーラー版は使っていません。 ファイルのリネームと移動は済んだのですが、php.ini と apacheのhttpd.confの設定ファイルをどのように変更すれば良いのか分かりません。 本や他のサイトを調べてみるとhttpd.confに LoadModule php4_module c:/php/sapi/php4apache.dll を追加するように書いてありますが、この文を他のLoadModuleが並んでいる一番下に追加すると、apacheが起動しなくなってしまいます。 できることなら、php.ini と httpd.conf に必要な変更箇所を教えてもらえませんでしょうか? ファイルのディレクトリは ■apache C:\Apache2\www ←ドキュメントフォルダ ■php C:\php\extensions ←エクステンションのフォルダ C:\php\sapi です。虫のいいお願いですがよろしくお願いします。

    • ベストアンサー
    • PHP
  • アパッチでAccessForbiddenがでてしまう。

    今日アパッチのhttpd.confを変更して DocumentRootを変えて見たのですが・・・ Forbiddenのメッセージが・・・ ディレクトリにはちゃんとデータはいってるのですが 分かるかたぜひ教えてください。

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • Apache2.0とActivePerl5.8でCGIが動作しない

    ご教授願います。  掲題の通り、Win2000ProにApache2.0.48、ActibePerl5.8.1.807をインストールしローカル上にてApacheの動作確認は出来ました。  色々なサイトを調べ、現在のhttpd.confは下記のような設定となっています。 【httpd.confの主な変更点】  1:DocumentRootは別ドライブのフォルダ(C:ではない)に変更(httpd.confのファイル、229行目あたり)  2:同様に<Directory>も1と同じフォルダ(httpd.confのファイル、255行目あたり)  3:Options Indexes FollowSymLinks MultiViews ExecCGI Includesと変更(httpd.confのファイル、269行目あたり)  4:ActivePerlのインストール先は「C:/usr/local/」です。  5:test.cgiの格納場所は1で指定したフォルダと同じです。 【症状】  ブラウザのアドレスに「http://localhost」を入力するとApacheの動作確認画面が出ますが、「http://localhost/test.cgi」を入力すると『Forbidden You don't have permission to access/test.cgi on this server」と表示されます。 知識不足で申し訳ございませんが、よろしくお願いいたします。

  • Apacheの設定でHTML文が表示される

    VistaにApache2.2とPerl5をインストールしてCGIを使いたいのですが、CGIが起動しません。 「IT Works!」は表示されたのでインストールはうまくいったと思います。 おそらくhttpd.confの設定だと思うのですが、手元にある本がApacheのバージョンも前のものですしXP対応なのではっきりとはわかりません。 HTML文がそのまま表示される事の注意点やhttpd.confの書き換え方がわかるかたどうか教えてください!!! ----------------------------------- c:\Apache2.2\htdocs\tendays(1-1.cgi)←今回表示されないファイルです c:\perl

    • 締切済み
    • CGI
  • apacheでドキュメントルート変更

    httpd.confを編集して # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "C:/www/jisaba" とドキュメントルートの変更を行ったのですが、 127.0.0.1とアドレス入力してもApacheのデフォルトのhtmlに飛んでしまうのです。 apacheをアンインストールして再インストールしてもapacheのhttpd.confの 設定は DocumentRoot "C:/www/jisaba" と以前の設定が残っています。 google検索などをしたのですが、 「OSを再インストールするのが一番早い」 みたいな事をかいてあります。 apacheってレジストリの変更までしてしまうのでしょうか? それとも、httpd.confの書き間違え? 原因がわかりません。前はディレクトリ変更は成功していたのですが…

専門家に質問してみよう