- 締切済み
無印のHPの作り方について
無印のHPの作り方について興味があります。 いろいろ観ていてどうしても気になったのが ファイル名?フォルダ名?が拡張子無しで表示されることです。 一般的にindex.htmlは省略できることは知っています。 ですが、例えば http://www.muji.net/store/cmdty/section/X00001 これはどういう技術で拡張子無しで表示されているのでしょうか。 仕組みを教えていただけますでしょうか?
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- saijyo_739
- ベストアンサー率53% (119/222)
# notnot # # いろいろ可能性が考えられます。 # (1) apacheのURLリライト機能で実際は、http://www.muji.net/store.cgi?p=cmdty&q=section& …などのURLを見かけだけ変えている # (2) http://www.muji.net/store がCGIで /cmdty/section/X0001がパラメータ(PATHINFO)である # (3) 拡張子無しのファイルをHTMLだとかPHPだとかCGIだとかと定義している # # どれもapacheの基本的な機能です。 (3)は違いますね。( X0001/ でも同じページが表示されます ) 多分、(2)でしょうね。 ※ X0001をX0002やX0003に変えてアクセスした時の表示から # 「X00001がディレクトリでは?」と書いている人もいますが、 こういう書き方されると気分良くないですね。 ご自身も同じ事(完全に間違っているのを可能性の一つとしてお書きになっているのに)されているのにね。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
拡張子という考えはとりあえず忘れてください。あれはWindows病の人が陥る病気ですから(^^)。WindowsはおかしなOSで、拡張子で何をするかを決めていますが、他の多くのOSは、ディレクトリごとに、あるいはプログラムごとに自由に設定します。 例)http://www.example.com/abc/cde/fgh?ijk HTTPサーバーの動作は、クライアントからリクエストがあると次のように判断します。 http:// <-- HTTPプロトコルでの通信でインターネットからのもの(少し嘘が混じっている) [サーバー名] www.example.com ここは大文字小文字区別なし サーバー名以下の/で始まる文字列を/で区切って、後ろから ? 以下 QUERY STRINGS これは切り取られてCGIなど処理するプログラムにに渡されます。 fgh 1) これがファイルか否かを判断しファイルなら指定された方法で渡します。 サーバのデフォルトの設定がtext/plain ならテキストとして渡すとか 2) テキストでなくディレクトリならそれを開く 中身を探してインデックスとして指定されているファイルがあればそれを処理する。 例) index.html index.htm index.cgi INDEX.HTM 以下自由に設定 ファイルがない場合の処理もサーバーで決める。 3) ファイルでもディレクトリでもなければPATH_INFOという環境変数に渡して 以下、cdeについて(1)~(3)の処理をくりかえす。 4) 最終的にサーバーのトップまで行ったも(3)と同じこと あなたの書かれたURLの後半を付け加えて下のサイトにアクセスするとPATH_INFOはわかる http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/store/cmdty/section/X00001?aaa=BBB コンピューターってお馬鹿なので、こんな簡単なことを黙々と黙って処理するだけ。
- notnot
- ベストアンサー率47% (4900/10358)
#2です。 「X00001がディレクトリでは?」と書いている人もいますが、もしそうなら、http://www.muji.net/store/cmdty/section/X00001 が http://www.muji.net/store/cmdty/section/X00001/ にリダイレクトされた上で表示されます。このページはそうでないので、ディレクトリではありません。 なので、 >index.html / index.php / index.cgi などを確かめるまでもないです。 可能性を3つ挙げましたが、(3)は普通無いでしょうね。(1)の場合は「URLを短縮」と言えますが、(2)の場合は元々そういうURLなので短縮するとかしないとかいう話ではないです。 (1)でURLを変形するのはSEO目的もあるかもしれませんが、(人にもプログラムにも)見やすくと言うことだと思います。サーチエンジン以外にも、URLのパス名までが同じ物を管理上同一視するプログラムがあるかもしれません。 SEOは詳しくないので真偽不明ですが「SEO目的には静的URL化は不要」という記述もどこかで見たことあります。
- sandbox-blue
- ベストアンサー率0% (0/1)
C#やVB(Microsoft MVC)、PHP など多くのプログラム言語では ルーティングの機能によって URL を任意に決めることが出来ます。 1つのHTMLファイルが1つのページを表示するのとは違って、 指定されたURLの内容によって、プログラムが様々なページを表示する場合に、 このようなURLになると思います。 例えば X00001 を変えてアクセスすると「指定されたカテゴリーは存在しません。」と表示されるので、 一番最後の部分は、カテゴリーを表しているパラメータとして使用されているようです。 プログラムはURLのこの部分を受けて、表示する内容を変えているのです。
- saijyo_739
- ベストアンサー率53% (119/222)
> 一般的にindex.htmlは省略できることは知っています。 > http://www.muji.net/store/cmdty/section/X00001 > これはどういう技術で拡張子無しで表示されているのでしょうか。 そこに関しては X00001 がディレクトリで index.html (index.php, index.cgi, ... )が省略されている気がします。 省略可能なのは設定でリスト登録できますので index.html だけとは限りません。 ※ 任意の名前が登録できます。ウェブサーバの設定です。
お礼
早速のご回答、誠にありがとうございました。 X00001 がディレクトリで省略されている 可能性があるという事なんですね! まだまだ勉強不足などので、大変参考になりました!
- notnot
- ベストアンサー率47% (4900/10358)
いろいろ可能性が考えられます。 (1) apacheのURLリライト機能で実際は、http://www.muji.net/store.cgi?p=cmdty&q=section&r=X0001などのURLを見かけだけ変えている (2) http://www.muji.net/store がCGIで /cmdty/section/X0001がパラメータ(PATHINFO)である (3) 拡張子無しのファイルをHTMLだとかPHPだとかCGIだとかと定義している どれもapacheの基本的な機能です。
補足
誠に的確なご回答、ありがとうございます。 追加で質問ですが・・・ index.html / index.php / index.cgi を直接打ってみても「お探しのページは見つかりません」とあるので (1)(2)(3) のどれかの可能性が高いということですね。 また、このアドレスを短縮する目的はSEOの為が 一般的に多いのでしょうか? 単に省略したほうが、何かと見た目・便利さが あるというのもあるのでしょうが? どうぞ、よろしくお願い致します。
単に最後の「X00001」もディレクトリなだけです。 つまり、 http://www.muji.net/store/cmdty/section/X00001/index.html みたいな感じです。
お礼
早速のご回答、誠にありがとうございました。 大変参考になりました。
補足
早速のご回答、誠にありがとうございました。 非常に参考になりました! そこで、下記にも質問させて頂いておりますが・・・ このアドレスを短縮する目的はSEOの為が 一般的に多いのでしょうか? 単に省略したほうが、何かと見た目・便利さが あるというのもあるのでしょうが? どうぞ、よろしくお願い致します。