さくらのレンタルサーバーでhtml拡張子でphpを使う方法
レンタルサーバーでのhtmlファイルでphpを使う方法
一般的なサーバーであれば、.htaccessに下記みたいなコードを記述すれば使えるようになるらしいが、さくらのレンタルサーバーは一筋縄ではいかなかった。
AddHandler なんちゃら(サーバーによって異なる)
さくらのレンタルサーバーでhtmlでphpを使う方法
まず、phpのバージョンを調べるために「test.php」とかを作成して下記コードを貼りつけて、サーバーにアップする。
<?php phpinfo(); ?>
アップロード後、「test.php」にアクセスしたらphpのバージョンがわかるので、下記ディレクトリにアクセスして「php-cgi」をバイナリ―モードでダウンロードする。
/usr/local/php/[調べたPHPのバージョン]/bin/php-cgi
ダウンロードをしたら「php.cgi」とリネームを行いサーバーにアップロードしてパーミッションを「755」にする。
そいで、.htaccessファイルに下記記述を貼りつけてアップロード
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
これでだいたい動きます。
「うん、動かない!」という方(僕)は「php.cgi」をあげるところを間違えているかもね
自分の場合だが、「www」直下に入れとかないと動かなかった…
「www/sample/index.html」で運用しようと思っていたから「sample」ディレクトリに入れとこ思ってたら動かなくて「www」直下に入れたら上手くいきました。
補足
FTPにはファイルを転送する際に2つのモードがある「バイナリ―モード」と「アスキーモード」。
- アスキー(ASCII)モード
- FTPであげるときに改行コードを勝手に変換してくれるやつ
テキストファイルとかが対象 - バイナリ―モード
- ファイルの改行コードをなにもせずにそのまま転送してくれるやつ
画像ファイルとかが対象
基本的にftpクライアントソフトでは自動で拡張子が「html」ならアスキーモード「jpg」ならバイナリ―モードで転送されるらしいけど今回はサーバー上のファイルをサーバー上の別のディレクトリにリネームをしてアップロードしたいだけなので勝手に変換されると困るからあえて「バイナリ―モード」に設定してからあげる?みたいな認識でやってます。
詳しく知らなくてごめんね
ftpクライアントソフト「filezilla」とか「winscp」に関しては「転送設定」で「バイナリ―モード」に変更できるので探してみてね。