• 締切済み

動的ページを静的に見せる方法

以下の2つのサイトはどう考えてもパラメータ付きの動的サイトだと思います。 ------------------------------------------------- http://www.kenko.com/product/cat/cat_080820.html http://allabout.co.jp/career/eunews/closeup/CU20060627A/index.htm ------------------------------------------------- 「どのようなサーバー設定で」、さらに「どのようなプログラミング言語を使用して」静的ページに見せかけているのでしょうか?またそれを確認する方法はありますでしょうか?HTTPヘッダを見てもからくりがわかりません。単純に<mod_rewrite>や<RewriteEngine>を使用しているだけでしょうか?

みんなの回答

  • natu2000
  • ベストアンサー率69% (83/119)
回答No.2

>以下の2つのサイトはどう考えてもパラメータ付きの動的サイトだと思います どういう部分がパラメーター付きと思ったのでしょうか?その根拠をお願いします。 >「どのようなサーバー設定で」、さらに「どのようなプログラミング言語を使用して」静的ページに見>せかけているのでしょうか?またそれを確認する方法はありますでしょうか?HTTPヘッダを見てもから>くりがわかりません。単純に<mod_rewrite>や<RewriteEngine>を使用しているだけでしょうか? 当方の見解としては、やはりHTMLなんではないかと思います。 しかしこのHTMLはアップロードされたHTMLではなく、動的に作製された結果のHTMLではないかと 思っています。 つまり身近なところで言えば今流行りの blogなんかみると判りますが、(サイトは適当です) http://blog.livedoor.jp/yawaraka_sensha/ 明らかに右横の最新記事などやArchivesあたりは、数字.htmlといった感じですね。 blogを書いたことがあれば納得していただけると思うのですが このHTMLはユーザーがファイルの名前を作成したりなどしたり、 パソコンでHTMLを作ってアップロードしたりして現れたものではないですよね。 管理者ページから、新規のページを作ったり、 タイトルをつけて書き込みしたりした内容が、自動的にHTMLを生み出して・・・・・ リンクしているのではないかと思います。 サイト管理者から更新する  ↓  CGIやPHPなど動的なページ → 静的なHTMLの生成                        ↑                        ユーザーはここをみる

kaffelatte
質問者

補足

ご返答ありがとうございます。 確かにHTMLを生成したという可能性もあります。 ただし、”http://www.kenko.com/”で考えると恐らく全体のページ数は7~10万ページ程度あることが想定できます。しかも毎日ランキングを行っているところを見ると毎日生成していることになります。これは非現実的のような気がします。 さらに、以下のようなページも見つけました。 https://www.kenko.com/product/item/survey.html?product_id=7552412072 これは明らかに動的ページですよね。ただし拡張子を見る限り偽装していると思われます。つまりHTML拡張子でも動的ページの可能性が高いということが想定されます。 それでもやはり静的なページなのでしょうか? もし可能であればもう少しその根拠をご説明頂ければと思います。

noname#45950
noname#45950
回答No.1

「動的サイトだけど、パラメータ付ではない」 これで、解決しませんか? formに依存する情報が0であれば、「cat080820」の部分だけで、充分でしょう。

kaffelatte
質問者

お礼

返答ありがとうございます。 もう少し詳しくご説明頂けますでしょうか?

関連するQ&A

  • httpsでmod_rewriteができない

    はじめまして。 Linux環境で、apacheのhttp.confにmod_rewriteを記載し、httpsとhttpを切り替えたいと思っています。 httpd.confに以下のように記述しています。 <IfModule mod_rewrite.c> RewriteEngine on  #(1)httpで/aaaa/bbbbにアクセスされたときにhttps://~に変えたい RewriteCond %{REQUEST_URI} ^/aaaa/bbbb RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]  #(2)httpsで/cccc/ddddにアクセスされたときにhttp://~に変えたい RewriteCond %{REQUEST_URI} ^/cccc/dddd RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule> 上記(1)のhttpでのアクセス時には、mod_rewriteが効いてhttpsへ切り替えられるのですが、 上記(2)のhttpsでのアクセス時には、mod_rewriteが効いていないようでhttpへ切り替えられません。 rewriteログを見てみると、当サイトへhttpでアクセスした場合にはログが出力されますが、 httpsでアクセスした場合には出力されません。 そもそもhttpsでのアクセスの場合にhttpd.confのmod_rewriteが効いていないようです。 ですが、これに対しどこを調査すべきかが分かっていません。 SSLの設定自体は出来ていると思っていて、 https://xxxx.jpのようにアクセスするとちゃんとページが表示されます。 どの当たりに問題がありそうでしょうか? 解析のヒントを頂けたらと思います。 宜しくお願い致します。

  • HTTPSにおけるリダイレクト設定に関して

    Apache2.2+mod_sslにてSSL通信環境を構築しました。 DNS設定は「sample.com」も「www.sample.com」も同じサーバIPを指定しております。 「www.sample.com」をコモンネームとした証明書を認証局から取得し、 「https://www.sample.com/」にアクセスする場合は問題はありませんでした。 しかし、「https://sample.com/」にアクセスすると、 IEでは「このWebサイトのセキュリティ証明書には問題があります。」と表示されてしまいます。 この問題を解決しようとリダイレクトの対処も含め、以下の様な対応を行いましたが解決できませんでした。 どの様な対応を行えば、上記問題を解決する事ができるのでしょうか? 「sample.com」についても証明書を発行してもらうしかないのでしょうか? 皆様のお知恵をお借りしたく、何卒よろしくお願い致します。 以下、行った対応 ―――――――――――――――――――――― ■mod_rewrite.soを有効にする。 LoadModule rewrite_module modules/mod_rewrite.so ■httpd.confの末尾に以下を追記する。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^sample\.com RewriteRule ^/(.*)$ https://www.sample.com/$1 [R=301,L] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*)?$ https://%{HTTP_HOST}/$1 [L,R] </IfModule> ■3.httpd-ssl.confに以下を追記する。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^sample\.com RewriteRule ^/(.*)$ https://www.sample.com/$1 [R=301,L] </IfModule>

  • .htaccessでリダイレクトしたいです@さくら

    .htaccessでwwwなしのサイトにリダイレクトをかけたいのですが、うまくいきません。 色んな方法がサイトにありそれを試しているのですが、 一瞬テストでうまくいったと思ったのですが、それ以降うまくいかなくなってしまいました。 使用しているプロバイダはさくらインターネットです。 今までに試したコマンドは下記です。 --------------------------- <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.hoge\.com)(:80)? RewriteRule ^(.*) http://hoge.com/$1 [R=301,L] </IfModule> --------------------------- RewriteEngine on RewriteCond %{HTTP_HOST} www¥.hoge¥.com RewriteRule .* http://hoge.com%{REQUEST_URI} [R=301,L] --------------------------- .htaccess を設置しているディレクトリは /home/hoge/www になります。 ぜひ教えていただけないでしょうか。よろしくお願いいたします。 また、.htaccessは変更してどのくらいで反映されるのか、補足的に教えていただけると助かります。 以上、よろしくお願いいたします。

  • CentOSでhtaccessを使用してmod_rewrite

    CentOSで、htaccessを使用してmod_rewriteを利用したいのですが、いまいちどうしたらいいのかがわかりません。 動的URLを静的URLに変換したく、 htaccessに RewriteEngine on RewriteRule ^([0-9A-Za-z_]+)/$ index.php?t=$1 [L] と書きこみました。 すると404エラーがでます。 試しに #RewriteEngine on RewriteRule ^([0-9A-Za-z_]+)/$ index.php?t=$1 [L] とコメントアウトしたところ、通常に表示されました。 RewiteEngine on が何かしらの影響を与えていると思うのですが、 対策がよくわからないので質問いたしました。 ちなみにhttpd.confの設定は完了しています。 LoadModule rewrite_module modules/mod_rewrite.so と記述。

  • PHPで静的ページ見せる方法について

    PHPでmod_rewrite(静的ページに見せる方法)について教えてください。 PHPで生成された動的ページを静的ページにしたく思い、「.htaccess」ファイルを使用し、 mod_rewriteを書き込んでいますがURL書き換えられず困っています。 どうかご教授お願いいたします。 以下「.htaccess」の内容と環境、実験状況です。 やりたいこと。 トップのURL http://○○○.net/ 動的のURL  http://○○○.net/detail/index.php?id=△  こうしたい  http://○○○.net/detai/△.html ※○○○の部分はURLです。△は数字でページによって変動します。 「.htaccess」の中身 ------------------------------------------------------------ 1行目  Options +FollowSymLinks 2行目  RewriteEngine on 3行目  RewriteCond %{HTTP_HOST} ^www.○○○\.net 4行目  RewriteRule ^(.*)$ http://○○○.net/$1 [R=301,L] 5行目  Options +ExecCGI 6行目  AddHandler cgi-script .cgi 7行目  AddHandler cgi-script .pl 8行目  Options +FollowSymLinks 9行目  RewriteEngine on 10行目 RewriteCond %{HTTP_HOST} ^www.○○○\.net 11行目 RewriteRule ^/detail/([0-9A-Za-z]+)\.html$ /detail/index.php?id=$1 [L] ------------------------------------------------------------ サーバーはレンタルサーバーのロケットネットです。 最初の4行はWWWなしのURL統一のために書き込んでいます。 次の3行(5~6行目)はロケットネットではcgiを使用するために必要なものということでしたので 書き込んでいます。 8~9行目からが静的ページに見せたいがために書き込んだ内容です。 サイトのディレクトリ構造は以下の通りです。 index.php (第1階層) detailフォルダ (第1階層)   └ index.php(第2階層) 第1階層のindex.phpには以下のような記述がしてあります。(GET) <p><a href="/detail/index.php?id=<?=$line[0]?>">・<?=$line[1]?></a></p> 第2階層のindex.phpには以下のような記述がしてあります。 $ID=$_GET['id']; 制作者のPHPレベル Lv3 Next Level あと56くらぃ (はじめたばかりの初心者です) 上記のような「.htaccess」の中身ですと、URLは特に変更なく、 http://○○○.net/detail/index.php?id=△のままです。 wwwなしの統一はできています。cgiは普通に使えてます。 ロケットネット側に一度お問い合わせしたところ、 以下のような内容でできます。と返答がきました。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/sample/(.*)$ /shop/sample/$1 できませんでした… 他に以下のような感じのものをためしてみました。 RewriteRule部分を RewriteRule ^/detail/(.*)$ /detail/index.php?id=$1 や RewriteRule ^http://○○○.net/detail/(.*)$ http://○○○.net/detail/index.php?id=$1 フルパスにしてみたり… RewriteRule ^(.*)$ index.php?id=$1 別に「.htaccess」ファイルを作り「detail」フォルダに入れてみたり… できませんでした… もう何がいけないのかぜんぜんわかりません… こういうところに書き込むのは初めてですが、親身にしていただけると幸いです。 ご教授のほどどうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • .htaccessでスマートフォンを振り分けたい

    .htaccessでスマートフォンを振り分けたいと思っています。 私が書いた.htaccessは <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone|BlackBerry) [NC] RewriteRule ^/$ http://www.サイト名.com/smartphone/index-m.html/ [R,L] </IfModule> なのですが、iPhoneで試してみても元のPCのサイト(サイト名.com)に行ってしまいます。 でも、PCでインターネットエクスプローラを使うときのみスマートフォンのサイトに行くのです。 (サファリとグーグル・クロームは大丈夫です) もう何がなんだかわかりません。。。 何かヒントでも結構ですので、お分かりになる方がいらっしゃいましたら、よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • mod_rewriteで直リン防止

    直リン防止のためmod_rewriteを.htaccessで設定してみました。 RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://xxxx\.com/.*$ [NC] RewriteRule ^(.*)$ - [F] この設定で画像は直リン防止できましたが動画は直リン防止が できず、リンクからも読み込めなくなりました。 どうにか動画直リンを防ぐ設定はないでしょうか?

  • 301リダイレクトの設定について

    htmlコーディングの知識は多少あるのですが、サーバーの設定については全くの初心者です。 .htaccessリダイレクトの方法がわからないのでお教えください。 旧サイトが「https://www.sample.com/aaa/bbb/」にあったのですが、新しいサイトを「https://www.sample.com/ccc/」に作成しました。新サイトと旧サイトのディレクトリの構成はまったく異なります。 旧サイト全体に301リダイレクトを設定して旧サイトのどのページにアクセスしても新サイトのTOPページに移動させたいのですが、.htaccessの書き方がわかりません。 Googleでいろいろ検索し、下記のように記述した.htaccessファイルをbbbディレクトリに格納してみましたが、うまくいきませんでした。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^aaa/bbb/(.*) /ccc/$1 [R=301,L] </IfModule> また、以下ではInternal Server Errorになりました。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.sample.com)(:80)? [NC] Redirect permanent /aaa/bbb/ RewriteRule ^(.*) https://www.sample.com/ccc/$1 [R=301,L] </IfModule> アドバイスをいただけないでしょうか。 よろしくお願いいたします。

  • CakePHP1.2でCSSが適用されない

    レンタルサーバーはXREAで、 PHP Version 4.4.8 + CakePHP 1.2.0.7692 RC3 + Apache 10337100 を使っています(phpinfo()にて取得)。 http://d.hatena.ne.jp/Yukkuri/20080519/1211221064 こちらのサイトを参考に接地し、CakePHPのスタート画面は出たのですが、 スタイルシートや画像が適用されてくれません。 mod_rewrite関係だと思うのですが、phpinfo()を見る限りでは mod_rewriteは読み込まれているようです。 .htaccessは以下のようになっています。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cgi/anketo/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> 他に設定すべき項目などありましたら教えていただけないでしょうか。

    • 締切済み
    • PHP
  • mod_rewriteの初歩的な質問なのですが

    すいません。今データベースを使った簡単なウェブサイトを作っていまして mod_rewriteについて分からないことがあります。 (phpなど勉強を始めたばかりで質問の意味が分かりにくいかもしれません) やりたいことは実際には存在しないhtmlのサイトを検索にスクロールしてもらって クライアントから要求があったアドレスに従いデータベースから任意のデータを表示すると いったものです。 例えば 1000.html 1001.html 1002.html・・・・・に要求があった場合phpの$_SERVER['HTTP_HOST']を 使って要求のあったアドレスを抜き取り任意のhtmlを表示させるといった事を考えています。 リダイレクト自体は初心者向けのサイトを見て簡単にできたのですが、 1000.html 1001.html 1002.html・・・ の部分を一度に表記する方法はないでしょうか。(1000.html~5000.htmlのようなこの範囲を全て条件としてRewriteCondに入れたい) 最終的には5000ページ程度を考えているため一つ一つ記載するのは難しいです。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(1001\.html)(:80)? [NC] RewriteRule ^(.*) http://abcdefg.com/$1 [R=301,L]

専門家に質問してみよう