• ベストアンサー

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

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.4

「最後のスラッシュ」にも二通りあります。 (a) http://example.comhttp://example.com/ のようにホスト名だけの場合は全く同じ意味です。スラッシュを付けないとアクセスできないというのはおかしい。時間を特定してログを確認してください。もし再現性がないようなら、その人のタイプミスや勘違いかもしれません。 (b) http://example.com/aaaahttp://example.com/aaaa/ のように、パス名が付いているときは、URLとしては本来別のものになります。 サーバーによっては、http://example.com/aaaahttp://example.com/aaaa/ で別のページを返すこともあり得ます。 一般的な設定では、http://example.com/aaaa が存在せず、http://example.com/aaaa/ が存在するときに、http://example.com/aaaa に対してアクセスするとページ無しのエラーを返さずに、http://example.com/aaaa/ をアクセスし直せという指示の応答が返り、ブラウザか自動的にもう一度 http://example.com/aaaa/ でアクセスし直します。 >(2)最後にフラッシュを付けないでアクセスしてページが表示されないエラーが出た場合、サーバーのログ(Apacheログ)に何か記録されますか? 記録されます。 >http.confのUseCanonicalNameがOffになっているのが原因かと思いましたので、とりあえずOnに変更みました。 この設定は、ホスト名の話なので、スラッシュには関係ないです。バーチャルホストを使っているのにonにしてしまうと不都合が起こるかもしれません。offがいいでしょう。

osaka-aq
質問者

お礼

ご回答ありがとうございましたm(__)m 確かに、私もスラッシュでアクセスできないような事を聞いたことも経験した事もありませんにので、タイプミスかな?と思ってたのですが… 少しログを見てみます。 >この設定は、ホスト名の話なので、スラッシュには関係ないです。バーチャルホストを使っているのにonにしてしまうと不都合が起こるかもしれません。offがいいでしょう。 ありがとうございます! UseCanonicalNameをOnにしていたのですが不安だったので、仰るとおりOffにしておきます! ありがとうございましたm(__)m

その他の回答 (3)

回答No.3

バーチャルドメインで運用なさっているそうですから、その設定いかんで、サーバまで到達しているけど404以外のエラーになることはあり得ます。 Apacheのログを見てください。ログは出力されていますか? されているようでしたら、ご提示ください。

osaka-aq
質問者

お礼

ご回答ありがとうございますm(__)m ログを見ているのですが、それらしいものが見つからないんです(>_<) もうちょっと探してみます! ありがとうございましたm(__)m

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

まず蛇足ですが, あなたが abc.net の管理者でないのであればそのようなドメインを例示するのはよくありません. 「例示のために予約されたドメイン」として example.* がありますので, これを使ってください. URL の書き方としては「http://www.example.net」と「http://www.example.net/」の両方が認められています. そして, この最後のスラッシュは省略しても同じ意味になります. だから, ユーザエージェントによっては勝手に補完するかもしれないししないかもしれません. いずれにしても本来はサーバがよろしく対処しなければならないです. ほかのところ, 例えば http://www.example.net/directory/ における最後のスラッシュは省略すると意味が変わります. この場合は省略すると ・http://www.example.net/directory でアクセスする ・「そんなのないけど http://www.example/net/directory/ じゃないの?」と返される ・改めて http://www.example/net/directory/ でアクセスする というプロセスになるんだったかな?

osaka-aq
質問者

お礼

ご回答ありがとうございますm(__)m ドメイン名の件、失礼しましたm(__)m 仰られるように、確かに存在し得るドメインを例として出すのはいけない事ですね…すみません。 ユーザーエージェント側って事は、やはりブラウザとかの問題なのでしょうか…

回答No.1

http://abc.net とアドレスを打ち込むと http://abc.net/ にアクセスしなおして表示してくれるのはサーバと関係なく、クライアントのブラウザが勝手にそうしてくれているだけです。 >(1)環境やパソコンによって最後のスラッシュが必要だったり、無くてもページが表示されたりと、挙動が異なるものなのでしょうか? そういうことになります。 >(2)最後にフラッシュを付けないでアクセスしてページが表示されないエラーが出た場合、サーバーのログ(Apacheログ)に何か記録されますか? サーバのエラーではないのでログには出ません。(サーバにアクセスがあってページが見つからない場合なら404が出ますが、サーバまで到達していないはずなので)

osaka-aq
質問者

お礼

ご回答ありがとうございますm(__)m やはりブラウザの問題ですか… 環境の問題であれば、私としてはどうしようもありませんね(^-^;) この件は、もう少し様子を見てみようと思います。 ありがとうございましたm(__)m

関連するQ&A

  • 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を入れていますが、何気なく使っていたのですが、 最後のスラッシュは必要でしょうか?不要でしょうか? どちらでも、自社のページは表示できますが、ふと思ったので。 URL http://www.自社ドメイン URL http://www.自社ドメイン/ 他社から頂く、名刺・年賀状でも最後のスラッシュは入っていたり、入ってなかったりとまちまちです。

  • URLの最後の/について

    リンク先のURLの最後に/を付けたほうがそのページに飛ぶ早さも早くなると聞いたんですがスラッシュをつけて自分HPの中の違うページに飛ぶようリンクをつけるとnotfoundになります。スラッシュをつけず、たとえばwww.jjj.com/main.htmlにするときちんと表示されます。 なぜでしょうか。

    • ベストアンサー
    • HTML
  • HPアドレスの最後のスラッシュについて

    HPのアドレスを名刺等に入れる場合、アドレス最後のスラッシュは入れるものなのでしょうか。入れずに、アドレスを入力してもちゃんとサイトが表示され、自動的に/が最後に表示されるのですが。 名刺を印刷したいのですが どうするべきか迷っています。

  • URLの最後の「/」

    素朴な疑問なのですが・・・ URLの最後のスラッシュ(/)には何か意味があるのでしょうか?? 付けても付けなくても同じページが表示されます。 初歩的な質問ですが、よろしくお願いします。

  • ドメインからドメインへの転送

    先日、新しいドメインを取得したのですが、そこから 元来使っているドメインのフォルダに自動転送できないかと思っています。 たとえば、 ドメイン1(旧)を http://www.abc.dom/ ドメイン2(新)を http://www.def.gom/ として、ドメイン2にアクセスした時に ドメイン1のフォルダ http://www.abc.dom/folder/ に転送されるようにしたいのです。 (つまり、アドレスバーに http://www.def.gom/ と入力したら、 http://www.abc.dom/folder/index.html のページが表示するように設定したいのです。) 補足として、パソコンはWindowsXPで、 サーバーにはAPACHEを使っています。 そして、ドメイン1には固定IPアドレスが付いています。 ドメイン2用に新たに固定IPアドレスを付けるべきか、 APACHEの"httpd.conf"ファイルをどのように変更すべきかなど、思い悩んでいます。

  • Apache2.2の外部公開に関して(Windows 2003 ser

    Apache2.2の外部公開に関して(Windows 2003 server) ■現在可能な事 ・http://グローバルIPアドレス/index.html  →外部公開はできます。 ・https://グローバルIPアドレス/index.html  →外部公開はできます。 ・http://localhost/docs/  →tomcatのページを表示できます。 ・eclipse+Tomcat+javaで作成したページ  https://localhost/abc.jsp/  →表示できます。 ■現在不可能な事 ・http://グローバルIPアドレス/docs/  →ページを表示できません ・eclipse+Tomcat+javaで作成したページ  https://グローバルIPアドレス/abc.jsp/  →ページを表示できません TomcatとApacheを連携した事でTomcat側で作成したものをグローバルIPアドレスで外部公開する事はできないんでしょうか。 できる場合、その設定方法を教えて下さい。

    • ベストアンサー
    • Java
  • 自サバ 使用していないドメインでアクセスできる?

    お世話になります。 自サバでWAN側より使用していないドメインでアクセスできてしまうので困っています。 どなたか 解決方法をお教え下さい。 症状 サーバーは アパッチです。 8年位前に ドメイン abc.com を取得しました。 このドメインを バーチャルホストのドキュメントルートに設定しました。 外部より正常にアクセスできて問題なく2年前まで運用していました。 その後 xyz-abc.com というドメインを取得し  abc.com ドメインとドキュメントルートのフォルダーごと削除しました。 アパッチのバーチャルホストの abc.com の設定はありません。 しかし 今までのメールのドメインとして使うので 自宅のメールサーバーには abc.com の設定はしてあり今現在も使用しています。 abc.com 削除後 xyz-abc.com でサイトを再構築し今現在運用しています。 xyz-abc.com でWAN側より正常にアクセスできます。 念のためにですが http://abc.com/ でのアクセスは削除してあるためできません。 先日、URLの正規化というのをアパッチサーバー、htアクセスに301リダイレクト、ネームサーバー設定し http://xyz-abc.com/ でアクセスしても http://www.xyz-abc.com/ でアクセスしても http://xya-abc.com/  に繋がるよう設定できました。 また ファイルのアクセスも index.htmlアクセスは 無しに設定し、 ドメインの後は /(スラッシュ)  でのアクセスに統一しました。 見る限りは正常にWAN側からアクセスできます。問題はありません。 問題はここからです。 このURLの正規化が終わって一月くらい過ぎて グーグルの検索結果に自分のサイトが 出ているのですがどういうわけか  index.htmlのタイトルが表示されているリンク下の部分のURLが  なぜか xya-abc.com/ ではなくて 無いはずの abc.com/  になっています??? 検索結果のリンクをクリックすると xyz-abc.com/ のサイトがWAN側より見えます? 表示されたトップページのアドレスバーは abc.com/ と 表示されています。? http://www.xyz-abc.com/、http://xyz-abc.com/ でアクセスしても  以前使用していたhttp://abc.com/に繋がります。 表示されるページは http://xyz-abc.com/ のindex.htmlです 上にも書かせてもらっていますが このドメイン abc.com は サーバーには設定していません。 それと URLの正規化後3週間くらいは こんなことはありませんでした。 abc.com では アクセスできていませんでした。 15年ほど自宅サーバーにてサイト運営を行っていますがこのような事は初めてです。 この何日間か調べて見たり 設定も確認したりしましたが  特に問題も無く この現象の解決には至りませんでした。 なぜこのようなことが起こるのか原因と解決方法をお教えいただけましたら助かります。 皆様 どうか宜しくお願いいたします。 <(_ _)>

  • http://xxx.com/~○○ で見れない (redhat)

    WEBサーバを設定しています。 http://xxx.com/~○○/ でアクセスするとindex.htmlが表示されるのですが、 http://xxx.com/~○○ スラッシュ無しでアクセスするとエラーが返ってきます。 プロバイダなどでは、表示するようになってると思うのですが、どうすれば、スラッシュ無しでもアクセスできるようになるのでしょうか??よろしくお願いします。 因みに、apache/1.3.12を使っています。

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

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