web関連

さくらのレンタルサーバーでhtml拡張子でphpを使う方法

さくらのレンタルサーバーで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」に関しては「転送設定」で「バイナリ―モード」に変更できるので探してみてね。

さくらのレンタルサーバー用の「.htaccess」の記述方法間違っていたみたいで、ページにアクセスするたびに「ダウンロード」というファイルがダウンロードされたときはビックリした。