閉じる

エックスサーバーでphpをhtmlで動作させる(.htaccess)

htmlファイルでphpを動作させる場合は、サーバー、Apacheなどの設定か、.htaccessの設定が必要になります。
費用が安い共用レンタルサーバーでは、Apacheの設定を行えません。
Apacheのhttpd.confを修正できれば楽ですが。

共用サーバーでも機能が優れ、使いやすいエックスサーバーで、htmlファイルでPHPをhtmlで動作する.htaccess設定を記載します。

エックスサーバー

エックスサーバーの.htaccess設定

エックスサーバーの設定は、phpのバージョンも含め、いくつか設定がありますが、2016年8月に新仕様のサーバーに変更されました。
html内にphpコードを埋めこんでも、html拡張子で表示する事ができると思われます。

sv2001~ 2016年8月16日以降に契約したサーバーの.htaccess設定

sv2001~のサーバーは、下記を.htaccess内に記載すれば動作すると思われます。

suPHP_ConfigPath~の下の行に

AddHandler fcgid-script .php .phps .html
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .php
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .phps
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .html

FCGIWrapperの1行目と2行目、~php-cgi” .phpと~php-cgi” .phpsは自動追記されていると思います。
xserver_php/php-cgi” .phpsの行をコピーし、最後の.phpsを.htmlに置き換えましょう。

php5.3などは下記を記載します。

AddHandler fcgid-script .html

または

AddHandler fcgid-script .php .phps .html

どちらかで機能すると思われます。

~sv1999.xserver.jpの.htaccess設定

2016年8月16日以前に契約したサーバーはsv1.xserver.jp~sv1999.xserver.jpのサーバーです。

エックスサーバーでは、以前に契約したサーバーも最新の環境に移行すると発表しています。

もし、現在のサーバーから最新のサーバーに変更された場合、

.htaccessを変更しないと動作しない場合がありますのでご注意ください。

特にphp5.3~5.5で構築されたワードプレスなどのサイトは移行時

AddHandler fcgid-script .php .phps .html

に変更しないと管理画面にログインすらできない状態になる可能性があります。

最新サーバー環境に移行前の.htaccess設定

phpバージョン、PHP4.3.9、PHP5.1.6の場合

PHP4.3.9、PHP5.1.6の場合は下記の設定が必要です。
AddHandler x-httpd-php .php .phps .html

もし、PHP5.1.6で動かない場合は下記で動作するか試します。
AddHandler x-httpd-php5 .php .phps .html

phpバージョン、PHP5.3~の場合

PHP5.3の場合
AddHandler x-httpd-php5.3 .html .php .phps

PHP5.4の場合
AddHandler x-httpd-php5.4 .html .php .phps

PHP5.5の場合
AddHandler x-httpd-php5.5 .html .php .phps

FastCGIを有効にした場合

FastCGIが有効の場合は、

AddHandler fcgid-script .php .phps .html
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .php
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .phps
FCGIWrapper "/home/契約アカウント/ドメイン名/xserver_php/php-cgi" .html

で設定できると思います。

この記載がエックスサーバー以外で使えるかといいますと、サーバーによって「.htaccess」の記載が違います。

しかし、エックスサーバーのsv1.xserver.jp~sv1999.xserver.jp記述は、エックスサーバーの上位サーバー「X2サーバー」とほとんど同じです。

ファイルが文字化けする場合

いままでページが文字化けしていなくてもエックスサーバーのアップグレードの際、.htaccessが原因で文字化けする場合があります。
.htaccessで突然文字化けする場合はhtmlの文字コードを確認してみましょう。

phpをhtmlファイルで動かす場合、文字コードはutf-8を指定した方が良いです。
html内の文字コードをshift-jisをutf-8に設定し、ファイルもutf-8で保存して文字化けがなおるか確認してみましょう。

phpが記載されたhtmlファイルで画面が真っ白、Parse errorが表示される場合

phpが記載されたhtmlファイルでParse error: syntax error,が表示される場合は、XML宣言がないか確認しましょう。

<!--?xml version="1.0" encoding="utf-8"?-->

XML宣言がある場合は削除すればParse errorは解消されます。

htmlでphpを動かす場合、XML宣言があると画面が真っ白になる場合があります。

500エラーがではなく、画面が真っ白になる場合は、XML宣言もないか確認しましょう。

関連記事

  1. エックスサーバー

    エックスサーバーのハードウェア大幅増強・最新サーバーへの移行メン…

  2. TCD

    WordPressでポータルサイトを簡単に作成できるテーマ(テン…

  3. PHPでParse errorや画面が真っ白になる場合にチェック…

  4. メール不具合やフォームメールが届かない場合はSpamhausなど…

  5. FLEXBOX RESET

    floatやflexbox(display:flex)のリセット…

  6. GOOGLE日本語フォント

    GoogleFonts日本語 テスト公開中

ピックアップ記事

  1. Fetch as Google
  2. Classic Editor
ページ上部へ戻る