PHPアプリで共通部分を共有化する方法
- PHPアプリで共通部分を共有化する方法を検討しています。SSIが利用できない場合、PHPを活用してフッター部分を共有化する方法を試していますが、サーバー負担がSSIに比べて重くなる可能性があります。
- この方法は開発手法としては最悪な方法ではありませんが、SEからは良くないという意見もあるようです。SSI以外の良い方法があるかどうか検討したいと思っています。
- HTMLをすべてPHPとして動作させる必要があるため、サーバーへの負担が大きくなります。footer.phpとしても動作しないかどうかも検討しています。
- ベストアンサー
PHPアプリで共通部分を共有化するには
Webサイトの(PHPプログラムを活用して構築したWebサイト)フッター部分でSSIを検討していたのですが、SSIが利用できないサーバー(自社サーバー)なのでPHPで以下の方法を検討してみたのですが、サーバー負担がSSIに比較して重くなるのでしょうか。 また、以下の方法は開発手法としては、最悪な方法なのでしょうか。問題ないとは思うのですが、開発を担当してるSEが良くないというものなので。 なにかSSI以外で良い方法はありますでしょうか。 <?php include("階層/footer.html");?> htmlをすべてphpとして動作させる必要が有りますので、サーバへの 負担が大きすぎます。 footer.phpの部分をfooter.phpとしてもだめなのでしょうか。
- tomo0117
- お礼率50% (43/86)
- その他(インターネット・Webサービス)
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>htmlをすべてphpとして動作させる必要が有りますので~ includeされますので「htmlをすべてphpとして動作させる必要」はありません。拡張子を .txt や .inc .tpl などにしてみて下さい。拡張子は関係ないことがお分かり頂けるかと。 サイト全体はPHPで開発されているのですよね。だとすれば、事実上includeしかないかと思いますよ。例えSSI が可能だったとしても PHPでSSIを出力するなら、現在の拡張子(.php?)でSSIとの共存が必要になるか、もしくはページ本体はSSIにして、そちらからPHPを呼ぶ形になり、ややこい話になってしまいます。(たぶん PHP + SSI の負荷の方が大きいでしょう) メンテナンスの面からも、PHPでincludeがはるかに素直でよいと思いますが。。。 どうしてもそれ以外の代案と仰るなら、iframe または JavaScriptで別ファイルにすれば、footer部分がキャッシュされるので負荷軽減にはなりますけれど。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5081/13278)
HTMLファイルをincludeする事が負荷になるとは思えませんね。 SEの方がHTMLファイルをincludeする事を懸念されていると言うことは、アクセス数が相当多いか、サーバのスペックが相当低いかの何れかという事になりますが、いかがでしょうか? 負荷軽減策としてはPHPのアクセサレータを導入するという方法もありますよ。
お礼
参考になりました。 お礼が遅くなり恐縮です。 よろしくお願いいたします。
関連するQ&A
- 共通部分を部品化するならPHPとSSIどっちがいい?
こんにちは^^ えっと今作ってるサイトで色々テストしてみようと思って 共通部分を部品化してみようと思いました。 で、PHPとSSIの両方試してみたのですが速度は大して変わりませんでした こういう場合はどちらの方がよいのでしょうか? 聞いた話によるとSSIだとSEO的によいが、PHPだと動的になるのでSEO的にみるとよくないと聞きました。 これは事実ですか?これが事実ならSSIにしようかとも思っているのですが。 ただ、サーバの負荷を考えたらPHPのが負荷が少ないとも聞きます 教えてください<(_ _)>
- ベストアンサー
- CSS
- PHPとSSIについて
PHPとSSIについて サイト内で共通部分を作ろうと思っています。 PHPとSSI どちらがSEO、軽さ、サーバーの負担的にいいのでしょうか? ちなみに箇所は ヘッダー ナビゲーションバー 2カラム時のメインじゃない方(バナーや、お知らせなど) フッター の4つです。 実は今運営しているサイトでは SSIで作っているのですが、以下の事ができなくて困っています(僕の力不足かもしれませんが) ナビゲーションバーのボタンで、今現在いる箇所はロールオーバー時と同じ画像にしておく(今どこにいるかわかるように) つまり、ページによってナビゲーションの反転している箇所が変わる。 新しく作るページではナビゲーションバーの下にさらに 子ナビゲーションバーを作る予定なので、作り的にはPHPを考えています(PHPで可能なのかどうかわかりませんが) 参考サイト http://www.vogue.co.jp/ PHPをこれから勉強する僕に教えて下さい。
- ベストアンサー
- PHP
- サイトの共通ヘッダーのHTMLソース管理について
PHPを用いない、HTMLのみのサイトの 共通ヘッダーやフッターを1ファイルで管理するため、 SSIで、<!--#include file=\"***.html\" -->と設定し、 読み込むファイルは拡張子を.htmlとしたいです。 ヘッダーやフッターには、テキストリンクや画像のみをおくこととします。(プログラム的な動作はしない) みなさんは、ヘッダーやフッターのデータをどのように管理されているでしょうか。 DreamweaverのTempleteやLibraryを使っていますか。 SSIを使っていますか。 includeをするためだけにPHPをつかっているのでしょうか。
- ベストアンサー
- HTML
- 共通部分の出力にPHPを使う場合
ただ今Webサイトを運営している者です。 ヘッダとかフッタの各ページ共通部分を、PHPを使って一元的に管理しようと考えています。 PHPを挿入するページをaa.html、PHPで挿入するヘッダのページをheader.phpとすると、 ●aa.html <html> <head> </head> <body> <?php include 'header.php'; ?> </body> </html> ●header.php <html> <head> </head> <body> <div id="header">(中略)</div> </body> </html> こんな感じで考えています。 二つ質問があるのですが、 1. header.phpがaa.htmlの<?php >の部分にそのまま表示される、と考えてよいのでしょうか? 2. http://netcity.blog69.fc2.com/blog-entry-23.html 上のページや、他のサイトを読むと、外部ファイルの拡張子は何でもよいとありますが、これは本当でしょうか? 書いてある内容は同じでも、txtとhtmlとphpでは全然違う気がするのですが……。
- 締切済み
- CSS
- PHPのインクルード
WEBサイトをPHPで構築したいと考えています。 PHPの場合、ヘッダーやフッターなどの共通部分をインクルードできると思いますが、 ヘッダー内でもTitleやDescriptionなどのメタタグでページごとに変わる部分はどうすればよいのでしょうか? PHPでサイト構築している方はどうやってるのでしょうか?
- ベストアンサー
- PHP
- SSIが使えないサーバーで、JavaScriptで共通項目の一元管理をするには
ボランティアで、とある零細企業のホームページを管理しています。 会社の経費削減により、SSI/PHP/CGIが使えないサーバへ、サイトを引っ越さなくてはならなくなってしまいました。サイトのページ数は100ページを越えています。 今までのサーバではSSIが使えたので、ヘッダー、フッター、共通メニュー部分をSSIで管理していましたが、引っ越し先ではSSIもPHPも使用することが出来ないので困っています。 そこで質問なのですが、JavaScriptでSSIのように共通メニューを一元管理するにはどのようにすればよいのでしょうか?JavaScriptの初心者でも分かるように、簡単に説明しているページなどがありましたら、教えてください。 また、JavaScript以外でも、一元管理する何か良い方法があったら教えてください。 よろしくお願いいたします。
- ベストアンサー
- JavaScript
- htmlでヘッダやフッタを共通化したい
ヘッダ、サイドバー、コンテンツ、フッタというレイアウトで 100ページぐらいあるWebサイトを構築する場合、 ヘッダやフッタに変化がないのであれば、共通化したくなります。 (変更があった時に、1箇所変更すればいい、という風にしたいため) そこで、例えば、PHPが使えるところであれば、includeすればいいのですが、 使えない場合、JavaScriptを使えば可能ではあると思います。 しかし、JavaScriptはOffにされた時のことを考えると このやり方はリスクがあるような気がします。 そこで、知りたいのですが、htmlを共通化したい場合、 PHPなどを使う以外に、どんなやり方があるのでしょうか? できれば、サーバサイドに仕込む方法ではないやり方でお願いします。
- ベストアンサー
- HTML
- phpでCGIをインクルード
コンテンツをPHPで作成していますが、掲示版はCGI(PERL)で自サイト内においています。 例えば、index.php内に掲示板のトップであるbbs.cgiをインクルードささせる方法はないものでしょうか? index.phpとBBS.CGIは同階層に設置してます。 ちなみに、PHPで掲示板という手もありますが、今まで運営しているCGI掲示板にこだわります。 SSIは使わないでインクルードさせる方法があれば、教えて下さい。 (サイト検索しましたが、ヒットしませんでした。)
- 締切済み
- PHP
- ssiをhtmlで動作させる為、htaccess内に以下のような記述を
ssiをhtmlで動作させる為、htaccess内に以下のような記述をしました。 AddHandler server-parsed .html これでhtmlのままSSIは正常に読みこまれました。 しかしながら、これによりSSIを読み込んでいる同じファイル内にphpを以下のようにインクルードしているのですが、これが正常に読み込まれなくなりました。 <?php include"../../../php/123123.php" ?> SSIを読み込ませつつ、上記phpを正常に動作させる方法はないでしょうか。 ちなみにサーバーはロリポップです。 宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- CGIで動的生成したページでPHPを使いたい
初めて質問します。 現在、自社のWebサイトのリニューアルを任されています。 ヘッダー、フッター、ナビゲーションを表示させる際、利便性を考えてPHPでそれらを動的生成するようにしています。 PHPは、Webサイトのルートにある.htaccessに『AddType application/x-httpd-php .html』を追記して、HTML上からincludeで呼び出しています。 このサイトの問合わせフォームが元々CGIで作られているのですが、このCGIから生成されたページのみ、インクルードされたPHPが作動せず、ソースにPHPのコードがそのまま表示されます。 .htaccessのAddTypeに .cgi と付けてもダメで、CGI本体をcgi-binからフォームと同階層のディレクトリに移してもダメでした。 CGIとPHPは同時使用できないのでしょうか。
- ベストアンサー
- CGI
お礼
大変参考になりました。 お礼が遅くなり恐縮です。 よろしくお願いいたします。