質問: WordPressのブログと独自で作った登録システムを同じサーバーで動かしたいです。 しかし、それぞれ違うPHPのバージョンで動いています。 WordPress PHP7.0.27 独自のシステム PHP5.2.8 制作段階では独自で作ったシステムの.htaccessをサーバー直下に WordPressで作ったブログの.htaccessをwpフォルダ内で動かしておりました。 制作が終わったタイミングでWordPressのトップページをドメイン直下に変更するためにサーバー直下の.htaccessにWordPressで使用する記述を書いたところ、それぞれがうまく動きません。 それぞれに関係する設定を同じ.htaccessに記載したいのですが、一緒に記述するとうまくいきません。 独自のシステムは自分で作ったものではないので.htaccessの階層を変えることができません。 (階層を変えるとエラーが出てしまいますが自分の知識では修正ができません) PHPのバージョンが違うからなのか、そもそも2つのhtaccess内に書いている内容的に一緒に書けないものなのかがわかりません。 サーバーはNTTコミュニケーションズのCPIというものを使っております。 サーバー自体は1つのサーバーで階層さえかえれば.htaccessを使って異なるバージョンのPHPを使用できます。 両方ともサーバー直下に.htaccessを置きたいのですが、それぞれが影響しないように分岐のようなことはできないでしょうか。 --- .htaccess --------- 独自システムの.htaccess内記載↓ ``` Options +Includes AddHandler server-parsed html AddHandler x-httpd-php528 .php suPHP_ConfigPath /usr/home/aaa/php.ini deny from all ``` WorsPressの.htaccess内記載↓ ``` AddHandler x-httpd-php70 .php suPHP_ConfigPath /home/aaa/html/ Deny from all Options +SymLinksIfOwnerMatch # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress ``` 独自システムはドメイン/system/の中にphpファイルがありますが、インクルードしているファイルなどはサーバー直下に置いてあり、.htaccessの場所を変えるとうまく表示されません。 自分で作ったものではないため、階層を変えると不具合が出る恐れがあるため変えることができず困っております。 同じ.htaccess内でなんとか設定ができないかと思い質問いたしました。 どうぞ宜しくお願いいたします。
回答: CPIの共用レンタルサーバーでしょうか? 基本的に .htaccess に「AddHandler XXXXXX .php」は、拡張子毎に1つしか書けないので、質問の条件であれば、共存は無理です。 CPI のヘルプを探してみたところ PHP(CGI 版)について がありました。 この記載を見る感じでは、PHP の CGI 版を利用して、PHPスクリプトを CGI として動作させることで、ファイル毎に変更できると思われるので、同じディレクトリで、バージョンの違う PHP を共存させることができそうです。 確認項目としては、お使いの PHP スクリプトが、PHP(CGI版)で動作するように作られているかという点でしょうか。(通常は動くと思います。) PHP(CGI版)のデメリットとしては、現在お使いのPHP(モジュール版)より、PHPの起動が遅くなるという問題があります。 どのぐらい変わるかは、ケースバイケースですが、さくらインターネットが、レンタルサーバーサービスで「PHPモジュール版」を提供を始めた際の宣伝内容に「01.WordPressが従来より最大16倍に高速化」とあります。(より) まあ、CGI版からモジュール版に切り替えたら16倍早くなるというのは、極端な例と思いますが...