skillup

技術ブログ

サーバー・ネットワーク

Addtypeについて

投稿日:

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。

この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイルや.htaccessに下記のようにかくと動きます。

上記の処理自体はかなり昔から知っていたんですが、あまり理解していなかったのでこれを機にちょっと調査。

MIMETYPEとは

前提として知っておきたいのはmimetypeですね。なんとなくHTTPリクエスト上で使われるファイル形式のようなもの・・・と解釈していました。

拡張子とMIMETYPE

上記のリンクにあるように例えばhtmlの場合だったら通常はtext/htmlになります。

html→text/html
jpg→image/jpeg

とかですね。通常だとこのように拡張子で対応するMIMETYPEがきまり、それによってApacheではそれに対応した処理を行います。これがhtmlの中にそのままPHPを入れても動かない理由になります。

この場合、htmlの拡張子の場合、PHP用のMIMETYPEとして扱ってあげればOKです。その命令が冒頭にあげた記述式だったんですね。

nginxの場合だとphp-fpmに似たような設定を書くことで対応できます。

php-fpmについて

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

HTTPヘッダ・インジェクション+オープンリダイレクタ

Contents1 HTTPヘッダ・インジェクションとは?1.1 被害(ほぼクロスサイト・スクリプティング攻撃による脅威と同じ脅威)1.2 対策2 オープンリダイレクタとは?2.1 対策 HTTPヘッ …

no image

dockerインストール

ansibleに続いてdockerについて書いていこうと思います。 Contents1 dockerとは?1.1 インストール1.2 イメージ取得&コンテナ作成1.3 commit1.4 参考リンク …

no image

メールヘッダ・インジェクション

Contents1 メールヘッダ・インジェクションとは?2 被害3 対策 メールヘッダ・インジェクションとは? お問い合わせメールなどでメールのヘッダを悪意のある第三者に自由に変更させられてしまう機能 …

no image

clamAV

ウイルスソフトclamAVのインストールと使用法について Contents1 インストール1.1 CentOS61.2 CentOS72 スキャン実行の設定に関して インストール CentOS6 [c …

no image

serverspecによるサーバー自動テスト

最近は管理しているサーバーが多いのと、構成管理ツール(Ansible)なんかをちょくちょく使ってますが、ちゃんと入っているかどうかを確認するのはそれなりに大変だったりします。 が、構成管理ツール自体も …