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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









この記事では、パフォーマンスの最適化、ステートレス設計、セキュリティに焦点を当てたサーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項について説明します。コスト効率やスケーラビリティなどの利点を強調しますが、課題にも対処します

ThinkPHPのIOCコンテナは、PHPアプリで効率的な依存関係管理のための怠zyなロード、コンテキストバインディング、メソッドインジェクションなどの高度な機能を提供します。

この記事では、ThinkPHPの組み込みテストフレームワークについて説明し、ユニットや統合テストなどの主要な機能と、早期のバグ検出とコード品質の向上を通じてアプリケーションの信頼性を高める方法について強調しています。

この記事では、セットアップ、ベストプラクティス、統合方法、および推奨ツールに焦点を当てたThinkPhpマイクロサービスにサービスの発見と負荷分散の実装について説明します。[159文字]。

この記事では、ThinkPhpとRabbitMQを使用して分散タスクキューシステムの構築を概説し、インストール、構成、タスク管理、およびスケーラビリティに焦点を当てています。重要な問題には、Immedのような一般的な落とし穴を避けるための高可用性の確保が含まれます

この記事では、セキュリティ、効率、スケーラビリティに焦点を当てた、ファイルのアップロードとクラウドストレージをThinkPHPで統合するためのベストプラクティスについて説明します。

この記事では、ThinkPhpを使用してリアルタイムのコラボレーションツールを構築し、セットアップ、Websocket統合、セキュリティベストプラクティスに焦点を当てて説明します。

記事では、リアルタイムの株式市場データフィードにThinkPhpを使用して、セットアップ、データの正確性、最適化、セキュリティ対策に焦点を当てて説明します。
