以前、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を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でもブログは動作しました。
あとがき
変な記述があれば、ご指摘くださると幸いです。















コメントする