ブログで写真が貼り付けられないエラー
今回の記事は、前回のブログ記事の続きです。つまり、Wordpress以外のCMSを手動でStarfreeサーバーにインストールした場合に動作保証が出来なくて自己責任になる・・・という件の続きです。
自分は、NUCLEUというCMSをhttp://nigome.starfree.jp/n/というフォルダにインストールしましたが、上記のように写真が転送できても表示できないエラーメッセージが出ました。そこで原因を追究すると、以下のようなことが分かってきました。
最下段の「.htaccessの記述に誤りがある」・・・RemoveHandler php cgi pl py rb
上記の記述は、http://nigome.starfree.jp/n/media/1 という画像フォルダ内の .htassceeの記述です。
これは、スクリプトの実行を避けるという意味です。以下のような説明がありました。
***************************************
# サーバの設定によっては、アップロードされたファイルをスクリプトとして
# 実行される恐れがありますので、複数人でNucleusを運用している場合は特に
# 注意が必要です。
***************************************
つまり、本来は「RemoveHandler」という宣言は、media/1内の「php」 「cgi」「pl」 「py」「rb」 「shtml」という6種類の実行ファイルを実行させないという命令ですが、Starfreeサーバーの設定では、写真ファイルを実行ファイルと誤って認識する恐れがあり、要注意だと説明されているわけです。Star Saver社の見解では、「.htaccessの記述に誤りがある」と明記されていますが、要するにこの記述がこのサーバーと整合性が無いのでエラーが出たという事です。
アップロードした写真が表示できない理由
実際は実行ファイルは、http://nigome.starfree.jp/n/media/1というフォルダ内に見当たらず、アップロードされたのは写真だけです。このRemoveHandlerという記述が.htaccessに存在するために、Starfreeサーバーの環境設定においては、上記のNUCLEUS制作者の説明のように写真をスクリプトとして誤認識して表示できなくなってしまったものと考えられます。但し、「RemoveHandler」を「AddHandler」に書き換えても、写真は表示できません。写真の表示は常に既にフォトビューワーと関連づけられて認識しているのにも関わらず、.htassceeにユーザーが余計なことを書くと、やはり写真をスクリプトと誤認識して表示出来なくなるものと考えられます。
解決方法
したがって、.htasscee自体を削除すると、画像が表示できるようになりました。宜しかったら下記URL参照いただけたらと思います。