質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

5937閲覧

なぜ拡張子が、.htmlのままでPHPが動くようにするのか

u-sukesan

総合スコア156

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2017/11/02 03:21

初歩的な質問かもしれませんが

普通にこれまでもhtaccessでやってきていたことなのですが

ふと疑問に思い

なぜ拡張子が、.htmlのままでPHPが動くようにするのか
phpのまではダメなのか

ちゃんと考えたことがなかったのですが

SEO的な問題でしょうか

デメリットはないのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

SEO的な問題でしょうか

主な理由としてはそうです。昔からの慣習です。
HTMLには静的なドキュメントという側面がありますので、
何時勝手に内容が変更されるかわかったものではないPHPはSEOで順位が下がる懸念がありました。

同様にURL末尾のGETパラメータ(クエリストリング)も同様で、
検索エンジンの対象外扱いにされる懸念があり敬遠されがちでしたね。

また、最近のPHPはセキュリティ的な懸念は殆どありませんが、
PHP5.2くらいまでは普通の書き方をしていてもゴロゴロとセキュリティホールを踏み抜くクソ言語でした。
拡張子が「.php」のままではPHPと一目でバレるので、当時は隠す為に「.html」と偽装することが推奨されていました。
その後PHPフレームワークが流行ると共に、拡張子無しのURLが採用されていったので皆に忘れ去られていきました。

デメリットはないのでしょうか

完全に静的なHTMLもPHPパーサーにかけられるので、
静的なHTMLとセットで配信するサーバーの場合、明らかに速度が落ちます。

これを回避する為に、.htmlではなく.htmという拡張子と使い分けるみたいな対応も存在しましたね。

投稿2017/11/02 03:30

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi-sun

2017/11/02 03:32

因みに今はGoogleが動的なページでも別に気にせずインデックスするよ! …と名言していた(はず)です。 探せば資料が出てくると思うので、探してみてください。
u-sukesan

2017/11/02 03:47 編集

ご丁寧な回答、ありがとうございます。 >>因みに今はGoogleが動的なページでも別に気にせずインデックスするよ! >>…と名言していた(はず)です。 ということは、今はあまり気にしなくてもいいんですかね というか、そもそもPHPは時代遅れなのでしょうか Rubyとか勉強したほうがいいのかな?とか考える今日この頃です
miyabi-sun

2017/11/02 04:01

PHPはまだまだdisられる事はありますが、 7になってそれなりにイケてる言語になってるんでそう捨てたもんじゃないと思いますよ https://teratail.com/questions/11588 PHPはなんだかんだで読める人は多いです。 ですので、まだまだ国内外を問わずWebアプリ一発目を作る言語として採用される事が多い優秀なポジションをキープしています。 Twitterのようにサービス成功したがユーザーが増えすぎて負荷が無視出来なくなってしまった、言語速度を重視する為にRubyを捨ててScalaを採用するように、PHPを捨てて別の高速な言語を採用するという選択肢はあります。 例えばPHPに比べるとScalaはお硬い言語なので仕様修正に弱く、初期の開発速度が伸び悩む懸念があります。 URLの思想としては「長い間ずっと存在する文書」という概念です。 なので、もし言語を変えて例えばRuby、Scalaにしよう!となった時、 拡張子「.php」がついてるページを切り捨てると、サーチエンジンから「あのWebサイトは文書を勝手に捨て始める身勝手なサイトだ」と認識されかねないので、適切にリダイレクト設定をする等の手間が発生します。 https://ayudante.jp/column/2014-06-24/13-38/ この辺の都合から、2010年あたりからは動的なサイトは基本的に拡張子を使わないのが主流ですね。 殆どのWebフレームワークは「https://example.com/article/123」のようなURLを生成して移行コストがかからないように管理する思想になっています。 よかったら、PHPのWebフレームワークを使用してみてください。
u-sukesan

2017/11/02 07:01

大変丁寧なご説明ありがとうございます。 すごくよくわかりました! もう少しPHPで頑張ってみます。 PHPの歴は意外と長いわりに、cakeなどフレームワークを拒否ってきたので、チャレンジしてみます。
guest

0

phpでの動作を隠蔽したいのでしょうか..

デメリットは
・保守の観点からして拡張子から内容が把握しずらい
・静的なHTMLの場合でも常にphpモジュールのロードが発生するので余計なオーバヘッドが発生するかと思います

投稿2017/11/02 03:30

BECK_

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

u-sukesan

2017/11/02 03:48

ご回答ありがとうございます。 なるほどデメリットはそういったことがありますね >phpでの動作を隠蔽したいのでしょうか.. 根拠もわからずに、そう思っていたこともありましたね(笑)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問