Blog

【さくらレンタルサーバー】PHP拡張子なしでアクセス

現象

さくらのレンタルサーバーを使うホームページが、前からphpファイル拡張子なしでアクセス(例えば、www.example.com/demo.phpのリンクが、www.example.com/demoでアクセスできる)できてましたが、
最近はPHP拡張子なしでのアクセスができなくなりました。

原因推測

phpinfo()でPHP関連の情報を確認したら、PHPが先月の月末に更新(ビルド)されたことを確認できました。
それに関係あるかと推測します。あくまで推測です。。

対応

apache rewrite(失敗)

まず思い出すのは、apacheのrewriteモジュールです。
.htaccessファイルに下記を記入。

rewrite自体がうまく行っているみたいでしたが、404になって失敗でした。

確認方法:
www.example.com/demo2 (demo2.phpは存在しない)にアクセスしたら、www.example.com/demo2.php.php.php…にredirect制限数まで「.php」が追加してredirectしてきました。
ww.example.com/demo (demo.phpは存在する)にアクセスしたら、404になりました。

htmlファイルをphpとして実行(失敗)

今考えれば、本件とは関係ない対応になりますが。
試しにやってみただけで、結果として、phpファイルが実行することなく、ソースコードそのものがダウンロードされることになりました。(大変!)

方法は、.htaccessファイルに下記を記入するだけです。

php.iniファイルで設定指定(失敗)

php.iniに、expose_phpをoffに設定すれば、拡張子なしでアクセスできるという記事を見ました。
phpは、各フォルダのphp.iniの設定を見るから、下記内容だけphp.iniを作成し、対象フォルダにアップしてみましたが、反応が変わらなく、失敗でした。

phpファイルをhtmlとして実行(成功)

どうすればわからないから、こまめに検索することにしました。
そして、この記事を発見しました。
対応方法は難しくないから、やってみることにしました。そして、この対応が成功しました!

結論

レンタルサーバーの独自仕様は、対応は本当に大変です。。

Author Profile

jeff_maj

システムエンジニア/1984年生/上海交通大学卒/Webサービス/EC/iphone/android

» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ