• ベストアンサー

ウェブにアクセスする時アドレス欄の最後の/(スラッシュ)について

アクセスありがとうございます。 今回の質問はかなりどーでもいいことのように思われますが教えてください。 ブラウザのアドレス欄にURLを入力するとき、その最後尾に付ける/(スラッシュ)についてなのですが このスラッシュをたまに付け忘れることってありますよね。 でも最新のブラウザはそういう場合でも/を自動的に補完して私たちは何の問題もなくホームページを閲覧できますよね。 しかし今日この常識をくつがえす事態が発生しました。 実は最近Linuxで自宅Webサーバを構築しました。 そしてテストがてら、それにアクセスしてみたのですが 192.168.1.10/~burn/だと問題なくアクセスできるのですが 192.168.1.10/~burnだとアクセスできないのです。 権利がないとかそのような意味合いの英語のメッセージが返ってきてしまいます。 その後、調べたところ、どうもユーザ「burn」のホームディレクトリのパーミッションを甘くすれば/を付けなくてもアクセスできるようです。 でもホームディレクトリのパーミッションを甘くするのはセキュリティ上、好ましくないそうですね。 でも僕は/を付けなくてもアクセスできるようにしたいのです(普通の人に言わせればどーでもいいことのように思われますが)。 httpd.confをいじれば何とかなるような気もしますが、何しろ一番下までスクロールするだけで1~2分かかる巨大ファイル(しかも英語)ですので、ちょっと途方に暮れています。 えー私はいったい何が言いたいのかといいますと ズバリお聞きします。 ユーザのホームディレクトリのパーミッションを変更せずに URLの最後尾に/を付けなくてもホームページにアクセスできるような方法はありますか。 質問文が長くなってしまってすいません。 ここまでお読みいただきありがとうございました。 この解決法をご存じの方は是非教えてください。 Webサーバは「httpd-2.0.40-8.i386.rpm」です。

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

  • ベストアンサー
  • old98best
  • ベストアンサー率36% (1050/2908)
回答No.2

通常、/が付いている場合には、そのディレクトリのindex.htmlまたはindex.htmを読みにいきます。 /が無い場合には、そのディレクリーの一覧を作成するために、そのディレクトリーにある全てのファイルを参照しようとします。 そして、大抵の場合にはブラウザは、全てのファイルを検索した後でindex.htmまたはindex.htmlがある場合には、それを表示します。 ですから、index.htmかindex.htmlがあれば、/が無くてもサーバーとブラウザに無駄な動作をさせてしまいますが、最終的には普通の表示になるはずです。 それができない理由となると、パーミッションの設定が間違っているのでは無いでしょうか?

zyousuke
質問者

お礼

ご回答ありがとうございます。 ふむふむなるほど、ブラウザの動作がよく分かりました。 確かにそうですよね。「index.html」ファイルがあれば/を付けようが付けまいが最終的にアクセスするファイルは同じですよね。 パーミッションはターゲットファイルの上位ディレクトリ全てに「go+x」を適用すればいいのでしょうか。 ところで、ご回答いただいておきながら失礼ですが実はすでにトラブルは解決しました。 /を付けなくてもページが表示されるようになりました。 どうやってトラブルを解決したかと言いますと実はよく分かりません。 ふと気が付くと/を付けなくてもアクセスできるようになっていたのです。 もしかしたらapacheが不安定だったので1度アンインストールし再度インストールしたのが影響しているのかもしれません。 どちらにせよ、今回は良く分からない質問をしてしまってすいませんでした。 ご回答くださった皆様どうもありがとうございました。

その他の回答 (1)

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

デフォルトのファイルが定義されていないだけではないでしょうか。httpd.confに設定した方が早いと思います。どうしても違う方法となると外部に逆プロキシサーバを設置するという手がありますが、それこそ大変です。

zyousuke
質問者

お礼

ご返信ありがとうございます。 えーとですね。 なぜか、いつの間にか/を付けなくてもアクセスできるようになっていました(汗)。 いったいなぜでしょう?? 「httpd.conf」に手を加えすぎて何がなんだか分からなくなってしまって1度Apacheのrpmをアンインストールしてから再度インストールしました。 ひょっとしたら、その拍子に直ってしまったのかもしれませんが、そうではないのかもしれません。 いったい何が原因で、あのような症状が発生したのか全く分からないのです。 ひとまず直ったので良かったですが原因が分からないので再発しそうでドキドキしてます。 ところで逆プロキシサーバですか。 なんか名前を聞いただけで大変そうですね。 今回はどうもお手数をおかけしました。 なんか私一人で暴走していただけのようで(汗)。

関連するQ&A

  • Apacheのユーザーディレクトリ内ファイル参照時の権限設定

    httpdから(userdirモジュールやvirtualhostモジュールを利用して) ユーザーディレクトリ内のファイルを参照する場合 該当するユーザーのホームディレクトリのパーミッションを 700→755や777に変更しないとアクセス出来ないと思うのですが ホームディレクトリをこれらのパーミッションに設定するとSSHやFTPを通じて 他のユーザーから参照出来るようになってしまいます。 他のユーザーからのアクセスを制限しつつ httpdからホームディレクトリのファイルにアクセスさせる方法としては どのようなものがあるのでしょうか? 具体的な方法というよりは 参考URLや方法の名称などを教えていただけるとありがたいです。 よろしく御願いします。

  • Webアプリケーションのアクセス権ついて

    Webアプリケーションを開発しています。そのなかでユーザのアクセス権について悩んでいます。 開発環境: OS: Linux Webserver: Apache2.2 Tomcat5 クライアントPCよりサーバ内のディレクトリに対してアクセスする時に、セキュリティ上の観点よりユーザによりアクセスできるディレクトリを制限したいと思っております。ディレクトリについてはパーミッションで制限するのだと思いますが、クライアントPCからのユーザをどのように設定するのか解りません。 ご教授願えればと思います。よろしくお願いいたします。

  • アドレスの/スラッシュと¥の違い

    職場内のサーバに連絡用の外部に非公開のWebページを作りました。 アドレスは ¥¥SERVER¥renraku¥osirase.html で開くことができます。 しかし、そのページ内のリンクは../renraku/hoka.htmlなどとしています。/と¥は同じかと思いURLに¥を/に変えたものを打ったら開きません。当然ですが外部のインターネットに探しに出てしまいます. ブラウザのURL欄(アドレス)にスラッシュを利用してアドレスを打つとしたらどうすればいいのでしょうか。 つまり SERVER/renraku/osirase.htmlといったURLを内部だけで利用したいのですが。 見当はずれの質問かもしれませんが、何かヒントになる回答をお願いします.

  • アドレスで最後に"/"がないと表示しない

    Red Hat Linux7.3でサーバ構築をしています。 ある程度構築が終わっているのですが、アドレスの最後に /(スラッシュ)をつけないとページを表示してくれません。 他の質問で、httpd.conf内で UseCanonicalName on になっていることを確認… というのを見つけたのですが、既にonになっています。 他に設定が必要な箇所があるのでしょうか? 御存知の方教えてください。 また一般ユーザでFTP接続したときに、 homeより上の階層ディレクトリに行くことができません。 /etc/ftpaccess内で guestuser * realuser root,自分のアカウント にもしたのですが、できませんでした。 よろしくお願いします。

  • IIS7 .ASP関連の設定について

    いつもお世話になります。 IIS7のASP.netで開発したWebサイトを運営しております。 ■事象 拡張子.aspxのURL最後尾に「/(スラッシュ)」を入れてブラウザでアクセスすると、 以下URLのようにページレイアウトが大幅に崩れてしまいます。 参考URL:最後尾「/(スラッシュ)」無し⇒ http://okepi.net/all.aspx        最後尾「/(スラッシュ)」有り⇒ http://okepi.net/all.aspx/ 上記の現象に対し、他のサイトを拝見すると以下のような対策をされているようなのですが その解決方法(設定方法)についてご教示頂きたくお願い致します。 ■対策例(1) 最後尾に「/(スラッシュ)」をつけてもページ表示が変わらない 参考URL:最後尾「/(スラッシュ)」無し⇒http://fcart.jp/enq/index.aspx       最後尾「/(スラッシュ)」有り⇒http://fcart.jp/enq/index.aspx/ ■対策例(2) 最後尾に「/(スラッシュ)」をつけると404エラーを表示する 参考URL:最後尾「/(スラッシュ)」無し⇒https://ovspkgrsv.jtb.co.jp/pkg/login/user_login.aspx       最後尾「/(スラッシュ)」有り⇒https://ovspkgrsv.jtb.co.jp/pkg/login/user_login.aspx/

  • Webからのディレクトリへのアクセスについて

    phpで分類ごとに分けたアップローダを作成しようとしています。 それで保存先ディレクトリに「分類名をurlエンコードしたもの」を名前としてつけています。 例えば「情報」という分類のファイルは 「%BE%F0%CA%F3」ディレクトリ内に保存されます。 しかし、ここへのアクセスをWebから試みると 「You don't have permission to access」となってしまい参照することができません。 この階層へのアクセスそのものができないのかと思い、 同階層に「test」など普通の名前のディレクトリを作成し試したところこれは参照可能でした。 ディレクトリ名にURLエンコードを用いることがだめなのでしょうか? それともなにか段階を踏まなければならないのでしょうか? アドバイスお願いします。

    • ベストアンサー
    • PHP
  • htmlファイルが表示できません

    初歩的なことかもしれませんが教えてください。 Webサーバーをたてて、mrtgディレクトリ以下ののhtmlファイルを見ようとしてhttp://192.168.1.3/mrtg/*のファイルにアクセスするのですが、forbiddenといわれてしまいます。 You don't have permission to access /mrtg/index.html on this server. Apache/2.0.52 (CentOS) Server at 192.168.1.3 Port 80 You don't have permission to access /mrtg/127.0.0.1_2.html on this server. /var/www/html/mrtg以下のパーミッションはすべて777で 所有者は一般ユーザーに変えました。 でもコピーをして/var/www/html/index.htmlとかにもってきてhttp://192.168.1.3/index.htmlでアクセスすると表示されます。 httpd.confでは特に制限はかけていません。 httpdは起動しています。 あとどのあたりを疑えばよいでしょうか?

  • URLでフォルダの最後のスラッシュを省略した時の挙動

    Apache サーバを立ててみました。 一応、普通に動いているのですが、サイト配下のフォルダにアクセスする際、 URLの最後のスラッシュを付け忘れるとドメインの www が除去されて、「ページが見つかりません」に なってしまいます。 OK → http://www.example.jp OK → http://www.example.jp/hoge/ http://www.example.jp/hoge でアクセス(最後のスラッシュを付けない)すると http://example.jp/hoge/ となってしまうのはなぜ? Apacheの設定?

  • URLの最後のスラッシュ

    いつもお世話になりますm(__)m 素人ながらApache2.0のバーチャルドメインを使い数個のドメインでホームページを公開しております。 今回新しいページを公開し、チラシに「http://abc.net」という表記でアドレスを印刷、配布しました。 最後のスラッシュについて今まで特に考えもせず、何も問題なかったのですが、見に来た方に指摘されました。 http://abc.net とアドレスを打ち込むと、ページが見つかりません。というエラーが出るそうです。 改めて http://abc.net/ と最後にスラッシュを入れると問題なくページが表示されたそうです。 その後は、スラッシュ無しでもページが見れるみたいなのですが、なぜ最初の1回目だけスラッシュ無しだとページが表示されないのでしょうか? ちなみに、数人に確認したところ、ほとんどの方が見れたと仰っており、一部の方が見れなかったそうです。 なぜ一部の人だけ見れないのでしょうか…?? ちなみに、私はいままで最後にスラッシュを付けずにページを見たりしていました。 (これも実はサーバーに負荷がかかるみたいで、申し訳ない事をしてたみたいで反省です) 素人なりに調べた結果、http.confのUseCanonicalNameがOffになっているのが原因かと思いましたので、とりあえずOnに変更みました。 そこで、詳しい方にご教授頂きたいのですが。 (1)環境やパソコンによって最後のスラッシュが必要だったり、無くてもページが表示されたりと、挙動が異なるものなのでしょうか? (2)最後にフラッシュを付けないでアクセスしてページが表示されないエラーが出た場合、サーバーのログ(Apacheログ)に何か記録されますか? 素人がややこしい事を言いますが、なにとぞお力添えのほどお願い致しますm(__)m

  • httpd.conf の設定について

    httpdの設定について、ふたつほどわからない点があり困っております。 どなたかお知恵を拝借させてください。 1) たとえば、 http://123.456.789.1/~posha/index.html にアクセスしたいときに、多くのサーバーでは http://123.456.789.1/~posha だけでもいけてしまいます。しかし、うちのサーバーでは http://123.456.789.1/~posha/ と、スラッシュまで入れないとindex.html を補完してくれません。 これを、前者のような指定だけでいけるようにするには、どのように 設定したらよいのでしょうか? 2) ユーザーのホームディレクトリ上でcgiの起動を許可したとして、 ~○○/cgi-bin/□□.cgi のように、cgi-bin の下にあるものだけを許可する方法を教えてください。 (他のディレクトリにあっても、cgiとして実行されない) 以上、よろしくお願いします。