.htaccessでMultiViewsから.phpの拡張子省略をする方法


拡張子を省略したり、拡張子なしでファイルにアクセスする方法メモです。
URLから拡張子を省けるので場合によってはSEO的に有利になることもあるようです。こういった便利な技術はいつの時代も使い方次第ですね。
それでは、htaccessを利用して拡張子を省略設定できる方法をいくつかご紹介します。
サーバーの環境によって利用できない場合があるので、色々試して納得のいく指定方法を見つけて下さい。

SPONSORED LINK

.htaccessのOptionsで有効にする

Optionsが利用できるサーバーの場合は明示的にMultiViewsを有効化することで拡張子を省略できます。
htaccessに以下を追記しましょう。

Options +MultiViews
MultiviewsMatch Handlers

ちなみに、MultiViewsを無効化する場合には以下の記述となります。

Options -MultiViews

Optionsが制限されたサーバーの場合

さくらサーバーではOptionsの利用が制限されていますので、上記の記述ではエラーとなります。

さくらのサーバでApache 2系の場合

MultiViews のデフォルトの設定が Any から NegotiatedOnly に変更されているので、Apache 1.3系と同様に拡張子省略に必要な記述のみで指定可能になります。
htaccessに以下を追記しましょう。

MultiviewsMatch Any

このようにMultiviewsMatch ディレクティブの設定を変更することで拡張子の省略が可能になります。

AddTypeでヘッダーを明示化する

AddTypeを使ってMIMEタイプを指定することで、拡張子を省略できます。
htaccessに以下を追記しましょう。

AddType application/x-httpd-php .php

この指定の場合は省略したい拡張子ごとに記述に必要になりますが、予期せぬ誤動作は防げると思います。

まとめ

まずは使っているサーバーの設定を確認しましょう。Optionsが使用できるのかという部分で、記述できる範囲も決まってきます。
ユーザー数の多いさくらではOptionsの利用ができないので、必然的に後者で紹介した方法になります。
htaccessは間違えると大きな問題を引き起こす重大な設定ファイルだということも忘れずに弄りましょう。

今日も知識欲は止まらない。

関連トピック

dreamhost_sky

DreamHost Promo Code(プロモコード)最大割引クーポン&使い方まとめ

世界で一番安くなるプロモコードを作ってほしいとご依頼して頂きましたので、新規で割引最大のプロモコードをご用意しておきます。色々なサー

Allow

.htaccessで特定ファイルのみ許可・拒否する方法

.htaccessファイルを利用して「特定のファイルだけ許可」もしくは「特定のファイルだけ拒否」する方法メモ。 例えば設定項目のファイ

Sakura

さくらサーバーのMySQLをcronで自動バックアップする方法

さくらレンタルサーバーでmysqlのデータを自動でバックアップする為のcron設定方法メモです。 サーバー上ファイルのバックアップは常

Stop

.htaccessでRewriteRuleを表示URLそのまま変えずに転送する

htaccessで動的URLなどを別のURLに書き換える場合に、アクセスしたURLをそのままにして表示だけを切り替える方法メモです。

Tablet

.htaccessでスマホをタブレット以外で振り分ける

.htaccessを使用してタブレット以外のスマホを振り分ける方法メモです。 タブレット端末は基本的にパソコン向けのページを表示させる

Time

海外サーバでの時差(タイムゾーン)を変更する方法

海外サーバのサーバ時間を変更する方法です。 タイムゾーンを設定をすることで日本時間に合わせることが可能なので、時間を表示するサイト

公開日:2012/04/30