ほーくのプロフィールはこちら

さくらインターネットのレンタルサーバーで.htaccess付きのphpをアップロードしたら『Internal Error』になってページが表示できないときの解決方法

WordPressでもよくある、WebサイトのURLに拡張子(phpとかhtmlとか)を使わない仕様のサイトを作っていて、さくらのレンタルサーバーで動作確認してみた。すると、Internal Errorが表示されてしまった。

ローカルのMAMP環境なら全く問題ないのに、なぜ見られないのだろうかとエラーログを調べてみたところ、『.htaccess: Options not allowed here』というエラーが出ていた。

hatchesのOptions +FollowSymLinksが原因だった

エラーログからhtaccessの書き方になんか原因があるのがわかったので、Options +FollowSymLinksでぐぐってみるとどうやら以前別のレンタルサーバー会社で攻撃を受けたようで、この書き方ができなくなった様子。

以下のエントリーにあるように、セキュリティ上の問題があることがわかる。

Apache HTTPD: `Options -FollowSymLinks` は不完全 – ダメ出し Blog

Options +FollowSymLinksを消してアクセスしてみると、どうもうまくいかない(404エラーが出ている様子)

ってことでじゃあ代わりにどうすればいいの?ってことなのだけど、このオプションを消して、代わりに

AddType text/html .php

と記述することでアクセスができた。

対応しているサーバーとそうじゃないサーバーで挙動が変わるってのが結構めんどくさいのだけど、セキュリティ上仕方がないことなんでしょう。WordPress入れてそのまま使うことが多かったので、htaccessってあんまり触ったことなかったけど、なかなか奥が深そうなものですね。

参考:さくらのレンタルサーバーでphpファイルに拡張子無しでアクセスできなくなってしまった場合の対応について(404エラー) – akira3goの日記

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です