thinkPHP5 は優(yōu)れた PHP 開発フレームワークであり、高速な開発手法と豊富な機(jī)能コンポーネントを提供しており、その重要な機(jī)能の 1 つが URL ルーティング機(jī)能です。ただし、デフォルトでは、ルートにアクセスするには、URL にindex.php を追加する必要があります。美しさとセキュリティのために、この記事では thinkPHP5 でエントリ ファイルを非表示にする方法を紹介します。
1. 環(huán)境の準(zhǔn)備
URL 非表示化をスムーズに行うために、URL 非表示化を行う前に、ローカル環(huán)境が疑似靜的機(jī)能と URL 書き換え機(jī)能をサポートしているかどうかを確認(rèn)する必要があります。 。まず、Apache や Nginx などの Web サーバーがインストールされていることを確認(rèn)し、フレームワークが整形された URL を認(rèn)識(shí)して生成できるように、構(gòu)成ファイルで擬似靜的機(jī)能と URL 書き換え機(jī)能を有効にする必要があります。
2. URL の非表示をオンにする
- 設(shè)定ファイルを開きます
thinkPHP5 の設(shè)定ファイルで、app.php ファイルを見つけて、 url_html_suffix 構(gòu)成項(xiàng)目??栅挝淖至肖嗽O(shè)定します。つまり:
'url_html_suffix' => ''
これにより、サフィックスのない URL が許可されます。
- ルーティングの設(shè)定
thinkphp5 では、ルーティング ルールを設(shè)定することで、アクセス URL とコントローラや操作メソッドを?qū)潖旮钉堡毪长趣扦蓼?。隠れた効果を引き出すには、各コントローラーまたは操作メソッドに対応するルーティング設(shè)定を作成し、対応する URL を意味のあるコンテンツにマッピングする必要があります。たとえば、次のようになります。
Route:: get('news /:id','index/index/news',[],['id'=>'\d ']);
このようにして、URL /news/1 にアクセスすると、インデックスコントローラーのnews操作メソッドが自動(dòng)的に呼び出され、リクエストパラメータのidが1に設(shè)定されます。
- 構(gòu)成サーバー
対応する構(gòu)成は、Apache または Nginx でも実行する必要があります。 Apache を例として、次の內(nèi)容を .htaccess に追加します:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.* ) $index.php?s=/$1 [QSA,PT,L]
このコードでは、RewriteEngine をオンにすると、Apache の URL 書き換え機(jī)能 (RewriteCond %{REQUEST_FILENAME} !-d および RewriteCond %{ REQUEST_FILENAME}) がオンになります。 !-f は、靜的リソースへのアクセスへの影響を避けるために、ファイルとディレクトリへのアクセス要求を除外します。最後に、RewriteRule を使用して、URL が thinkPHP エントリ ファイルindex.php を指すようにし、ルーティング情報(bào)を取得します。
4. 追加機(jī)能
- URL サフィックスの設(shè)定
アプリケーションをさらに保護(hù)するために、URL サフィックスを設(shè)定することでアプリケーションの安全性を高めることができます。安全性。たとえば、すべての URL サフィックスを .shtml、.html、.shtml などに設(shè)定すると、アプリケーションへの攻撃を効果的に回避できます。
構(gòu)成ファイルで url_html_suffix オプションを見つけて、対応するサフィックスを追加できます (例:
'url_html_suffix' => 'shtml|html|htm'
- URL を自動(dòng)的に識(shí)別する
フレームワークが URL を自動(dòng)的に識(shí)別できるように、Route クラスの register メソッドにルーティング ルールを追加できます。例:
if (is_file(APP_PATH . 'route.php')) {
Route::get('/', 'index/index');
Route::get( ' build', 'index/build');
include_once APP_PATH . 'route.php';
}
このように、ルールにマッチするU(xiǎn)RLがあれば、対応するコントローラーまたはハウツーに自動(dòng)的に転送されます。
3. 概要
上記の手順により、thinkPHP5 で URL 非表示操作を簡(jiǎn)単に実裝でき、アプリケーションをより美しく、より安全で、操作しやすくすることができます。ただし、実際のアプリケーションでは、最高のサービス エクスペリエンスを?qū)g現(xiàn)するには、より詳細(xì)な構(gòu)成とデバッグが必要です。
以上がthinkPHP5 でエントリ ファイルを非表示にする方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)