ホームページ  >  記事  >  バックエンド開発  >  Index.php を非表示にする

Index.php を非表示にする

WBOY
WBOYオリジナル
2016-06-23 14:30:323076ブラウズ

1. codeigniter

codeigniter は、多くの PHP フレームワークと同様、入口が 1 つだけあり、URL から見ると非常に不親切に見えます。 Apacheの書き換えにより、非表示にして擬似URLを実現できます。

codeigniter の下の systemapplicationconfig で config.php を開きます

$config['index_page'] = "index.php"; を見つけます $config['index_page'] = "";

apache conf httpd の下の設定ファイルを変更します.conf # LoadModule rewrite_module modules/mod_rewrite.so

上記の # を削除します。 (変更機能を有効にする)

Find

#

# Options ディレクティブの可能な値は、「None」、「All」、

# またはこれらの任意の組み合わせです:

# Indexes include FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# "MultiViews" には *明示的に * --- "Options All" という名前を付ける必要があることに注意してください

# 与えられるわけではありません。

#

# Options ディレクティブは両方です複雑かつ重要です。詳細については、

# http://httpd.apache.org/docs/2.2/mod/core.html#options #options # を参照してください。

#

Options Indexes FollowSymLinks
#
#AllowOverride がどのディレクティブを制御するか.htaccess ファイルに配置できます。
# 「すべて」、「なし」、またはキーワードの任意の組み合わせにすることができます:
# Options FileInfo AuthConfig Limit
のもの #
AllowOverride None

#
# 誰から取得できるかを制御しますこのサーバー .
#
許可、拒否を注文します
すべてから許可します


AllowOverride None をAllowOverride All に変更します



プロジェクトの同じレベルのディレクトリに、次の内容で .htaccess ファイルを作成しますコンテンツ

RewriteEngine オン
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteRule ^(.*)$ /seat/ index.php/$1 [L]

接続にindex.phpを含める必要はありません

2番目、ThinkPHP

URLからindex.phpを削除します
ThinkPHP PHPフレームワークとして、入り口が 1 つしかないため、元の URL はあまりフレンドリーではありません。ただし、ThinkPHP には、必要な URL 形式をカスタマイズするためのさまざまなメカニズムが用意されており、Apache .htaccess ファイルを使用すると、SEO に役立つ人間化された URL アドレスをカスタマイズできます。

.htaccess ファイルは、Apache サーバー内の構成ファイルであり、関連するディレクトリ内の Web ページの構成を担当します。 .htaccess ファイルの Rewrite ルールを使用して、ThinkPHP URL 内の Index.php ファイル (つまり、エントリー ファイル) を非表示にすることができます。これは、ThinkPHP URL を擬似静的にするための最初のステップでもあります。

たとえば、元の URL は次のとおりです:

http://127.0.0.1/index.php/Index/insert


index.php を削除すると、次のようになります:

http://127.0.0.1/Index/ insert

このように、http://サーバーアドレス/アプリケーションモジュール名/オペレーション名[/変数パラメータ]という共通のURL形式になります。

Apache httpd.conf 構成ファイルを変更します

ヒント: 仮想ホストプロバイダーで構成されている場合は、.htaccess をサポートするスペースが最初の 2 つのステップですでに構成されているため、3 番目と 4 番目のステップを直接構成してください。

Apache 設定ファイル httpd.conf (このファイルは Apache インストールディレクトリ Apache2conf にあります) をエディタで開き、次のように変更します。

1. mod_rewrite.so をロードします

mod_rewrite.so モジュールがロードされていることを確認します (次の設定の前の # を削除します):

LoadModule rewrite_module modules/mod_rewrite.so

2.AllowOverride 設定を変更します

変更には .htaccess を読み取る必要がありますファイル ディレクトリを削除し、元のディレクトリをコメント アウトします。

#

「AllowOverride None」を「AllowOverride FileInfo Options」に変更します。 変更された構成は次のとおりです。

#

AllowOverride FileInfo オプション

.htaccess は、ディレクトリ E:/html/myapp> に基づいて制御されます。実際の特定の Apache 解析ディレクトリが構成されます。仮想ホストが .htaccess 制御を提供する場合、通常は設定されています。

3. .htaccess ファイルの書き換えルールを追加します。

index.php を隠す必要があるディレクトリに .htaccess ファイルを作成します (このチュートリアルでは、エントリ ファイルが存在するディレクトリは E:/html/myapp です)見つかった) を作成し、次のルール コードを記述します:

RewriteEngine on

#Index.php を表示しない

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME } ! -f

RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]

Web サイトに既に .htaccess ファイルがある場合は、この設定ルールを追加するだけです。ファイルを作成できない場合 (Windows プラットフォームで作成できない場合)、このサイトからファイルをダウンロードできますが、ファイルには、index.php を非表示にするルールが設定されているだけです。ここをクリックしてダウンロードしてください。

4. プロジェクト構成ファイルを変更します

プロジェクト構成ファイル Conf/config.php を編集し、URL モードを 2 (書き換えモード) に構成します:

'URL_MODEL'=>2,

この時点で、各構成は完成しました。各設定ファイルを保存した後、Apache サーバーを再起動し、Runtime ディレクトリ内のプロジェクト キャッシュ ファイルを削除します。ブラウザで Index.php を非表示にした後のアドレスにアクセスし、成功したかどうかをテストします。

http://127.0.0.1/html /myapp/Index/index

アクセスが成功すると、Apache .htaccess ファイルの Rewrite ルールを使用して、index.php エントリ ファイルを非表示にする設定が成功します。

添付ファイルリスト

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。