[Lolipop]ロリポップの独自設定だ!PHPファイルの拡張子を隠蔽する

こんにちは。
BIG1等を当てたいサラリーマンです。

WordPressでは、拡張子の隠蔽は必要ないんですけど別に運用しているWebサイトはPHPで作っているので、.phpを隠蔽します。

php-20150828

拡張子を隠蔽するためにApache(webサーバー)では、httpd.confに設定しますが、ロリポップの様なレンタルサーバーの場合は直接httpd.confに設定できないので.htaccessというファイルに設定します。
Apacheのバージョンや、隠蔽のやり方で設定方法は違います。

ロリポップのApacheのバージョンを調べてみました。
ホームページでは、Apache2.xと公開されていました。

不明だったので、telnetでアクセスしてバージョン情報を確認しました。
あえて公表はしませんが、けっこう古いバージョンでした。。。見なかったことにします。

さて、そんなロリポップで.htaccessを使って拡張子を隠蔽する方法を紹介します。
隠蔽する方法は何種類かありますが、今回は拡張子がないファイルをPHPで実行するように設定します。

もくじ

  • 概要
  • .htaccessを配置する
  • まとめ

概要

ルートディレクトリに、.htaccessファイルを作成し設置します。
隠蔽するためにForceTypeディレクティブで、MIMEコンテントタイプを指定します。

Apacheの日本語ドキュメントから引用した注意事項です。

このディレクティブはそこにあるすべてのファイルが MIME-type で指定されたコンテントタイプとして扱われるようにします。

メディアタイプを決めることができるかもしれない ファイルの拡張子も含め、すべての MIME タイプの関連付けを 上書きすることに注意してください。

core – Apache HTTP サーバ バージョン 2.4

.htaccessを配置する

Mac OSXは標準では、ドットから始まるファイルは作成出来ません。
ドットを付けずにhtaccessで作成し、FTPでサーバにアップロードしてからリネームしてください。

ファイルを以下の内容で保存してください。

DirectoryIndex index

<Files ~ "^(?!.*\.).*$">
    ForceType php5.3-script
</Files>

php5.3-scriptとは。。。ロリポップの独自設定です!

.htaccessの配置が終わったら、PHPファイルから拡張子を除外します。

php5.3バージョンで動かしているので、php5.3-scriptです。
php5.2なら、php5.2-scriptです。

PHPのバージョンや設定の変更はこちらのマニュアルを参照してください。

まとめ

この記事の内容で、2年ぐらい前に設定しました。
その際にいろいろ調べたと思うのですが、出典先を失念してしまいました。

たぶん、ロリポップのホームページに掲載されていたと思うのですが調べても出てきませんでした。

.phpを、.htmlで実行させる記事は多く目にするのですが、拡張子を除外する記事は余り見かけなかったのでエントリーしました。

スポンサーリンク
レクタングル(大)
レクタングル(大)

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>