• ベストアンサー

php? 検索について

phpを勉強し始めたばかりです。 不思議に思ったのですが、 http://www.sophia-it.com/content/イベントハンドラ とURLがあり、アクセスするとイベントハンドラについての記事が表示されるのですが、 XXXX.com/content/index.php?data=イベントハンドラ とは違うのでしょうか?(無知ですいません) 結論的にはphpを使っているのでしょうか。使っていない場合、どのような言語で処理をしてあるのでしょう?

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

  • ベストアンサー
noname#111181
noname#111181
回答No.1

XXXX.com/content/index.php?data=イベントハンドラ とは違います。 単に、"イベントハンドラ.html"のような静的テキストを表示しているに過ぎません。 Wikipediaも同じ仕組みになっています。 拡張子が付いていなくても、Webサーバ(Apacheなど)で拡張子を補足してやることができるのです。 もちろんPHPでもできますが、静的テキストにした方がCPUコストが安い(CPUに負荷がかからない)ので、大規模サイトではこの手法を使うところが多いですね。

whiterozes
質問者

お礼

コストについて全く考えていませんでした。大変参考になりました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

まず、該当サイトを見てみましたが、それ以外のページでは明らかにJSPを使ったページ(拡張子が.jsp)が散見されるため、もし動的生成をしていたとしてもおそらくJSPを使用しているのだと思います。 JSPとは、とりあえずのところPHPのようにサーバー上で動くスクリプト言語で、JavaScriptと言語構造が同じ、と考えて問題ないかと思います。 ※もちろん深く知れば、全然違うという事もあるかも知れませんが、入口としてはその程度でとりあえずOKかと 該当サイトが静的HTMLで構築されているのか、動的に生成されているのかは、不明です。 仮に動的に生成されている場合はJSPではないか、というのも推測の域は出ないものです。 ※推測で良いので、動的か静的か、JSPか否かに一票を入れるかと問われれば、動的にJSPでに一票入れますが。 さて、PHPで同様の事をしたいとすれば、mod_rewriteというアパッチモジュールに関して調べる事をお奨めします。 まさに 『http://~/content/******』 とアクセスされた場合に 『http://~/content/index.php?data=******』 とサーバー内で(のみ)変換してアクセスするような機能です。 ユーザーにはindex.phpの存在を隠したい、というような場合に利用可能です。

whiterozes
質問者

お礼

mod_rewriteは全く知りませんでした!大変勉強になりました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 関連項目の検索で迷いました。

    http://www.sophia-it.com/content/tips http://情報処理試験.jp/FE23a-am/k19.html 上記URLの両ページに"TIPS"なる単語が登場していますが、 それ等は同音異義語なのでしょうか?

  • ロリポップでPHPを動かしたい。

    ロリポップでPHPを動かしたいのですが、ローカルでは動作するのに、 サーバー上では動作しません。 セーフモードはOFFにしてみたり、してみたのですが。 ↓im.kayac.comを使い、iphoneに通知を送る処理です。 <?php $username = 'XXXX'; $password = 'XXXX'; $data = array( "message" => "ほげほえ", "password" => $password, ); $data['sig'] = sha1($data['message'] . $data['password']); unset($data['password']); $data = http_build_query($data, "", "&"); //header $header = array( "Content-Type: application/x-www-form-urlencoded", "Content-Length: ".strlen($data) ); $context = array( "http" => array( "method" => "POST", "header" => implode("rn", $header), "content" => $data ) ); $url = "http://im.kayac.com/api/post/{$username}"; echo file_get_contents($url, false, stream_context_create($context)); ?>

    • 締切済み
    • PHP
  • 動的URLから静的URLへの301リダイレクト

    下記のように動的URLを静的なURLに置き換えています。 http://www.sample.com/dir/aaa/index.php?content_id=1 ↓ http://www.sample.com/aaa_index.content_id_1.htm この動的URLを、置き換えた静的URLへ301リダイレクトさせたいのですが、うまくいきません。 htaccessの記述を下記のようにしましたが、多分、動的URLの「?」があるためうまくいかないようです。 RewriteEngine on RewriteBase / RewriteRule ^dir/aaa/index\.php?content_id=(.*)$ /aaa_index.content_id_$1.htm [R=301,L] 「?」が含まれる動的URLから静的URLに301リダイレクトさせたい場合、どのように記述すれば良いでしょうか?

  • PHPについて教えてください

    下記のindex.htmlとcheck.phpを別々にURLに入力すると正しく表示されるのですが 横の送信ボタンを押したときにcheck.phpにジャンプしてくれません どうしてでしょうか? index.html <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <from method="post" action="check.php"> <input name="nickname" type="text" style="width:100px"> <input type="submit" value="送信"> </from> </body> </html> check.php <DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php print'ようこそ'; ?> </body> </html>

    • 締切済み
    • PHP
  • PHPでのWaning

    PHPでのWaning PHPファイルにてメッセージ抑止をしたいのですが、どのようにすれば良いのでしょうか? 「ディレクトリトラバーサル」脆弱性とのご指摘を頂いております。 http://xxxx.com/sys/dl.php?file=01(正常なURL) http://xxxx.com/sys/dl.php?file=00(ディレクトリ内に無いURL) 上記のように​http://xxxx.com/sys/dl.php?file=00と言うページが無く (あったとしても見られても問題ない) http://xxxx.com/sys/dl.php?file=01以外のアドレス(?file=)以降、ユーザーがURLの打ち間違えをしたら Waning: file(~):failed to open stream:No such file or directory in....................../utl.php on line 139 が出ます。 上記「Waning」では無く、他のメッセージ(表示URLは変えずにhtmlで出力)を出したいのです。 utl.phpの139行目は $utl = new Utl(); $template = $utl->readTemplate($template_file); $template_file テンプレートファイルへのパス 返り値 $template テンプレートファイル(SJIS) */ function readTemplate($template_file){ (139行目)foreach(file($template_file) as $v){ $template .= $v; } $template = mb_convert_encoding($template, "EUC-JP", "auto"); return $template; } /* どうぞ、よろしくお願い致します。

    • 締切済み
    • PHP
  • phpでのURL取得について

    phpにて、ソース内のURLを取得するプログラムを作っています。 その中に短縮URLが混ざっており、取得しても例えば“http://tinyurl.com/?aaa”のような形になってしまいます。 この“http://tinyurl.com/?aaa”が“http://www.yahoo.co.jp/index.html”の短縮URLなら“http://www.yahoo.co.jp/index.html”の形で取得したいのですが、phpで可能でしょうか?

  • CGIの中で異なるContent-typeのファイルを・・・。

    CGIでの処理で、今 http://xxxx.com/ok.cgi?id=123&pass=abc&page=index.html でindex.html が表示されているとします。 それで、このindex.htmlから別の拡張子のファイルへリンクさせ、ファイルをダウンロードできるようにしたいと思っています。lzh ならURLはこん感じになります。 http://xxxx.com/ok.cgi?id=123&pass=abc&page=sample.lzh  しかし ok.cgi の最後で print "Content-type: text/html\n"; exit; を指定しているのでリンク先へ行ってもindex.htmlは表示されますが、リンク先のファイルは動きません。 どうすればダウンロード出来るようになるでしょうか? なるべくこのok.cgi の外に出したくないのです。  また、この中で、リンク先が隠れるphpを入れたいと考えましたが、phpも同様に機能しません。これもどのようにすればよろしいでしょうか?  どなたかよろしくお願い致します。

    • ベストアンサー
    • Perl
  • path_info??phpのファイル名を書かずに引数を渡すには・・・

    畏れ入ります。 phpのファイル名を書かずに引数を渡す方法があるのでしょうか? tinyurlというページがあるのですが、 tinyurl.com/index.phpとしてもアクセスできるのでおそらくphpが動いているのだと思います。 アクセスするとわかると思うのですが、 tinyurl.com/6のようにアクセスすると、”6”を引数にして phpで、"6"に該当するページにリダイレクトしているのだろう・・・と なんとなく思っていました。 しかし、いったいどうやって引数を渡しているのか再現してみよう、 と思ったら出来ませんでした(汗 path_infoというのを使えば http://url/index/6 というような感じで”6”を渡せるだろうと思うのですが、 http://url/6 としてurl配下に置いたindex.phpに”6”をどうやって渡せるのでしょうか? もしかしてかなり高度な技術を使っているのでしょうか?? もし何か気がつきましたら教えていただけると助かります・・・

    • ベストアンサー
    • PHP
  • index.phpの中でPHP掲示板のサンプルを動かしたいと思っていま

    index.phpの中でPHP掲示板のサンプルを動かしたいと思っています。 サンプルurlは下記ファイルですでに動いているとします。 http://www.aaa.com/test/bbs.php・・・bbs一覧 http://www.aaa.com/test/bbs_entry.php・・・bbs投稿 http://www.aaa.com/test/bbs_confirm.php・・・bbs投稿確認画面 http://www.aaa.com/index.php にアクセスすると、上のbbsの一式がindex.phpの中で動く、ということをしたいのですが、 方法はないでしょうか? イメージでいうと、フレームで左メニューはまったく動かないが、右画面が動く、というイメージが近いです。 しかし、index.phpと同じ階層に、上の3ファイルをインクルードするファイルを3つ作成しなおす、ということはしたくありません。 index.phpの中に記述を加えるだけで、index.phpの内部で上のサンプルが動く、ということはできないでしょうか?

    • ベストアンサー
    • HTML
  • 検索エンジンにミラーサイトと誤解されないためには?

    アクセス元を知るために、リンクするURLにこのように番号を振りたいと思います。 http://www.test.co.jp/index.php?id=100 これは、下記のようなURLでもまったく同じページが表示されます。 http://www.test.co.jp/index.php?id=1001 http://www.test.co.jp/index.php?id=2002 この手法で一つ気になるのが、検索エンジンがこれを別のページと誤って解析し、ミラーサイトと誤認してしまわないだろうかということです。 id=XXXXの部分を無視させるなど、検索エンジンに誤解されないようにする手法はないものでしょうか?