イメージ

XSERVERの初期.htaccessファイルの内容を解説

XSERVERのレンタルサーバでは初期状態でサーバ上に設置されている.htaccessファイルがある。
私が最近使用したサーバーでは、初期状態で以下のように書かれていた。

suPHP_ConfigPath /home/サーバーID/初期ドメイン/xserver_php/
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/サーバーID/初期ドメイン/xserver_php/php-cgi" .php
FCGIWrapper "/home/サーバーID/初期ドメイン/xserver_php/php-cgi" .phps

私が普段使用しているさくらインターネットのサーバではこのような.htaccessファイルは存在しないので、初めてエックスサーバーを使ったときはこれをどうしていいものか扱いに困った。

消してしまおうかとも思ったが、.htaccessファイルの役割の重要さを考えると、内容も確認せずに迂闊に消すのは危険だ。
後々のトラブルの原因にもなりかねない。
なので、備忘録も兼ねて今回はこのファイルの内容の解説をします。

今後何らかの必要性からこの.htaccessファイルを編集した時に間違えて上記内容を消してしまったりしてはいけないので、まずはこのファイルをコピーして保存しておきます。

コードをコピーして別のテキストファイルなどに貼り付けるのも悪くないですが、文字コードの設定や改行コードもそのまま残すためにファイルを開いたり内容の編集などを一切せず、ファイルごとそのままコピーしてしまうほうが確実です。

この作業を面倒くさがらずにきちんとしておくことが大事です。
バックアップさえ取っておけば、後でどんなエラーが発生したとしても元の状態に戻すことができることになります。

それに、WordPressをインストールしたりするとこの.htaccessに勝手に追記されたりするので、初期状態のコードがどうなっていたかを後から確認したくなった時のために、ここでバックアップを取っておくことは重要です。

初期.htaccessの1行目には以下のように書かれている。

suPHP_ConfigPath /home/サーバーID/初期ドメイン/xserver_php/

上記コードの内容は記述のとおり、suPHPのconfigファイルのパスを示しています。
suPHPとはPHPスクリプトの実行権限をそれぞれのサーバのオーナーごとに設定できるようにするモジュールらしい。
モジュールとは拡張機能だと思えばよい。
参考ページ:suPHP公式サイト

上記コードにあるxserver_phpディレクトリの中を見てみると、php-cgiとphp.iniファイルが入っている。
このphp.iniファイルを編集することでPHPの設定を変えることができる。
その効果は初期.htaccessファイルが設置されているディレクトリ(public_htmlディレクトリ)以下に及ぶこととなります。

ちなみに、エックスサーバーではサーバーパネル上に「php.ini設定」という項目があり、これがオンになっているとホームディレクトリ(public_htmlディレクトリ)に独自に設置したphp.iniは無効にされてしまうので注意が必要です。
php.ini設定

本機能を有効(ON)に設定したドメインにおいては、ホームディレクトリなどにお客様側で個別に設定されたphp.iniは全て無効となり、 本機能にて指定された設定のみが有効となりますのでご注意ください。
本機能を無効(OFF)に設定しているドメインについては、ホームディレクトリ、またはディレクトリ毎に個別設定されているphp.iniが優先されます。

php.ini設定をオンにした場合はその横にある「php.ini設定変更」や「php.ini直接編集」のタブを選択して内容を変更する必要があります。
php.iniを直接編集
つまり、この内容がxserver_phpディレクトリの中にあるphp.iniファイルに反映されることになります。
参考ページ:php.ini設定について | レンタルサーバー【エックスサーバー】

初期.htaccessの2行目は以下のようなコードになっている。

AddHandler fcgid-script .php .phps

このコードはサーバパネル上にある「PHP高速化設定(FastCGI化)」の設定がオンになっていることを示しています。
PHP高速化設定(FastCGI化)
注意点としては、この設定をオンにすると先ほど説明した「php.ini設定変更」が自動的にオンになるようで、それによって各ディレクトリに独自に設置するphp.iniファイルは無効化されてしまうことです。

本機能をご利用いただく場合、お客様がホームディレクトリや各ディレクトリに独自に設置しているphp.iniファイルの設定は適用されませんのでご注意ください。
本機能をご利用の上でphp.iniの設定を行う場合は、サーバーパネル上の「php.ini設定」にて設定を行うようにしてください。
PHP高速化設定 | レンタルサーバー【エックスサーバー】

続いて以下のようなコードがある。

FCGIWrapper "/home/サーバーID/初期ドメイン/xserver_php/php-cgi" .php
FCGIWrapper "/home/サーバーID/初期ドメイン/xserver_php/php-cgi" .phps

これは上記のPHP高速化設定(FastCGI化)の記述の一部となります。
要するにAddHandlerの行から3行でセットです。消さないようにしましょう。

提供サポートなど