thinkphp 隠し入口ファイルのインデックス
ThinkPHPフレームワークの初期の入口ファイルはindex.phpであり、プロジェクトのルートディレクトリ以下にあります。
入口ファイル「index.php」を隠したい場合は、サーバーのリライトルールで行うことができます。一般的な手法の一つを以下に示します。ただし、Apacheサーバをお使いの場合です。
- プロジェクトのルートディレクトリに .htaccess ファイルを作成する。
- .htaccessファイルに以下のコードを追加します:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
このコードは存在しない全てのファイルあるいはディレクトリへのリクエストをindex.phpファイルに書き換えることで、入り口となるファイルを隠蔽します。
Apache サーバーを使用している場合のみ、この手法が適用されます。Nginx などの別の種類のサーバーを使用している場合は、適切な書き換えルールを使用してエントリ ファイルを隠す必要があります。