質問: 表題の通りで 特定のディレクトリ「/var/www/html/tmp」に PHPを設置したとしても実行できないようにしたいのですが 「/var/www/html/tmp/.htaccess」に以下を設定してもPHPは実行されてしまいますし (文字コード:Shift-JIS、改行コード:LF、mod_rewriteなど別のhtaccess設定は反映されています) RemoveType .php apacheの設定ファイル「httpd.conf」に以下のように記述し再起動してもPHPは実行されてしまいます (httpd.confは一つしか存在せずバーチャルドメインなど他の設定は反映されています、後の行で打ち消されている可能性も考え最終行に移動しましたがダメでした) RemoveType .php 実行のテストをしたPHPファイル「/var/www/html/tmp/test.php」は以下です 一点気になるのはhttpd.conf内に AddType application/x-httpd-php .php といったような記述はないのにもかかわらずPHPは問題なく使えています yumでインストールしたのですが 私はなにか特殊なPHPの起動方法を実行してしまっているのでしょうか? 【OS】 CentOS6.7 【PHPバージョン】 PHP 5.3.3 (cli) (built: Jul 9 2015 17:39:00) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies 【Apacheバージョン】 Server version: Apache/2.2.15 (Unix) Server built: Oct 16 2014 14:48:21 原因お分かりになるかたご教授頂ければと存じます
回答: たぶん、`httpd.conf`の下の方で ``` Include conf.d/*.conf ``` ってやって読み込んでます。 phpの記述は、`conf.d/php.conf`にあります。 `RemoveType`の後に、`addType`が来ているので効かないのだと思いますよ。 それにしても、`.htaccess`で効かないのはおかしいですね。 ### 訂正 `RemoveHandler .php`も要りますね。 ### やってみました .htaccessに ``` SetHandler text/plain ``` とやったところ、テキストとして認識しました。