XAMPP 1.7でSOY CMSのブログが表示されない件

  • 投稿日:
  • by
  • カテゴリ:

以前、SOY CMSをXAMPPにインストール時のバージョンによる動作の違いについて、書かせていただきましたが、それとは別に、XAMPP環境(バージョン1.7)とLAMP環境では、SOY CMSのブログの動作が異なります。

ブログを新規に作成しましたが、表示されないという状態になっていました。

オチは、ApacheのAllowOverrideの設定がNoneになっていたことです。

AllowOverride

AllowOverrideとは、.htaccess で許可されるディレクティブの種類であり、core - Apache HTTP サーバによれば、

このディレクティブを None に設定すると、.htaccessファイルは完全に 無視されます。 この場合、サーバはファイルシステムの .htaccessファイルを読むことを 試みさえしません。

というふうになっています。

SOY CMSのsqlite版のほうは、.htaccessが生成されますので、必ずAllowOverrideを有効にしなければなりませんね。すっかり忘れてました(汗)。

AllowOverrideについては、さらにここも参照

AllowOverrideを変更

AllowOverrideをAllに変更すれば動作します。

変更前

 AllowOverride None 

変更後

 AllowOverride All 

但し、これはLAMP環境の場合です。

LAMP環境とえらそうに書いてますが、実際に試したLAMP環境は、以下になります。

  • CentOS 5.3
  • PHP 5.2.11
  • Apache 2.2.14

しかし、これだけだと、XAMPP環境では、ブログは動作しません。

SOY CMSの開発元の株式会社日本情報化農業研究所の岡田さんからオプションも必要というアドバイスをいただきまして、XAMPPのhttpd.confの以下のAllowOverrideの設定をNoneからAllに変更しました。XAMPPのhttpd.confは、xampp/apache/confに、あります。

変更前 228行あたり(秀丸エディタの場合)

AllowOverride None

変更前 338行あたり(秀丸エディタの場合)

<Directory "C:/xampp/htdocs">
    AllowOverride None
    Options Indexes FollowSymLinks MultiViews ExecCGI Includes
    Order allow,deny
    Allow from all
</Directory>

変更後 228行あたり(秀丸エディタの場合)、AllowOverride Allに変更

AllowOverride All

変更後 338行あたり(秀丸エディタの場合)、AllowOverride Allに変更

<Directory "C:/xampp/htdocs">
    AllowOverride All
    Options Indexes FollowSymLinks MultiViews ExecCGI Includes
    Order allow,deny
    Allow from all
</Directory>

このように設定を変更することにより、動作しました。

httpd.confには、191行あたり(秀丸エディタの場合)に以下のような記述があります。

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

ここにも、AllowOverrideがあるのですが、ここはNoneでもブログは動作しました。

あとがき

変な記述があれば、ご指摘くださると幸いです。