ここから本文です

解決済みの質問

知恵コレに追加する

DMM.comなどのサイトでURLにファイル名が表示されないのはなぜでしょうか?また...

hanglobeuthiさん

DMM.comなどのサイトでURLにファイル名が表示されないのはなぜでしょうか?またどうすればできますか?

DMM.com(DVDや書籍の販売サイト)を見ていると”http://www.dmm.com/digital/”のようにフォルダ名までは表示されるのですがファイル名は表示されません。これは1つのフォルダにindex.phpなど1つのファイルしか配置していないからできるのでしょうか?
それとももっと他の方法で実現しているのでしょうか?

補足
ということはファイル名を表示しないようにするにはファイルの数だけフォルダを作る必要があるということでしょうか?

違反報告

ベストアンサーに選ばれた回答

maenet1972さん

>ということはファイル名を表示しないようにするにはファイルの数だけフォルダを作る必要があるということでしょうか?
ようするに聞きたい事は、
http://www.dmm.com/digital/pcgame/
http://www.dmm.com/digital/book/
http://www.dmm.com/digital/pcgame/-/list/=/sort=date/
など、それぞれにindex.phpを用意しなければいけないのか?という事ですね。
ずばり、そんな必要は全くありません。
サーバー側の設定を少し変更するだけで、ちょっとしたカラクリを作れるのです。
ましてや、DMMなどの大きいサービスでは、これぐらいは朝メシ前でしょう。

Apacheにはmod_rewriteというモジュールが存在します。
これは、アクセスされたURLから正規表現を使ってプログラムにリダイレクトさせる働きをさせます。
例えば、
http://www.hogehoge.com/1/2/3/
でアクセスされたら、
http://www.hogehoge.com/index.php?a=1&b=2&c=3
にアクセスされたのと同じ事を実現できるのです。
推測ですが、DMMの場合だと、http://www.dmm.com/index.htmlでアクセスできますが、これもindex.htmlをカモフラージュして、実際のプログラムにアクセスさせるようにmod_rewriteを使用していると思います。
大方、http://www.dmm.com/digital/http://www.dmm.com/index.php?content=digitalなどで内部的に実行させているのでしょう。
ちなみに、IISにもmod_rewriteみたいなものも存在するそうです。

  • 違反報告
  • 編集日時:2008/7/20 02:21:28
  • 回答日時:2008/7/20 02:08:20

質問した人からのコメント

  • 驚く回答ありがとうございました。
    mod_rewriteかなり難しいようですが勉強して行きたいと思います。
  • コメント日時:2008/7/22 11:00:14

グレード

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 2点(5点満点中)2人が役に立つと評価しています。

ベストアンサー以外の回答

1件中11件)

 

sakagami005さん

デフォルトで指定しているトップページ、index.htmlや、default.aspなどは省略可能とされています。
これはサーバ側で設定するもので、例えばデフォルトページとして、abc.htmlを登録すれば、ユーザ側がabc.htmlと入力しなくてもabc.htmlが読み込まれます。このときブラウザのアドレスは http://・・・・/でおわります。
また、iframeタグなどを使っている場合も、ブラウザのアドレスを変えずに、別のページを表示させるようなこともできます。
決してファイルが1つだからということではありません。

PR

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:PHP]

ただいまの回答者

06時40分現在

566
人が回答!!

1時間以内に1,129件の回答が寄せられています。